mysql问题的动态下拉

Posted

技术标签:

【中文标题】mysql问题的动态下拉【英文标题】:dynamic drop down with mysql issue 【发布时间】:2012-03-26 14:37:30 【问题描述】:

我正在尝试使用此代码获取由 mysql 数据库填充的下拉列表,如果选择了某个类别,则会弹出另一个下拉列表。我认为此代码是正确的,但我猜不是。第一个下拉列表甚至没有从数据库中填充,它最终是空白的,=。我一直在修修补补它,但没有成功。

这是我想要复制的内容...http://www.blueicestudios.com/chained-select-boxes-using-php-mysql-ajax/

这是目前为止的内容。

主窗体:

<?php include ('connect.php'); ?>
<?php include('func.php'); ?>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"><!--mce:0--></script>

<script type="text/javascript">
$(document).ready(function() 
    $('#wait_1').hide();
    $('#drop_1').change(function()
      $('#wait_1').show();
      $('#result_1').hide();
      $.get("func.php", 
        func: "drop_1",
        drop_var: $('#drop_1').val()
      , function(response)
        $('#result_1').fadeOut();
        setTimeout("finishAjax('result_1', '"+escape(response)+"')", 400);
      );
        return false;
    );
);

function finishAjax(id, response) 
  $('#wait_1').hide();
  $('#'+id).html(unescape(response));
  $('#'+id).fadeIn();

</script>

<form action="" method="post">

<select id="drop_1" name="drop_1">
<option disabled="disabled" selected="selected"> Select Main Category</option>
</select>
<span id="wait_1" style="display: none;">
<img src="ajax-loader.gif" >
</span>
<span id="result_1" style="display: none;"></span>
</form>

这里是 func.php 文件:

<?php 

function getTierOne()

    require_once('connect.php');
    $result = mysql_query("SELECT category FROM subcats")
    or die(mysql_error());
    while($tier = mysql_fetch_array( $result ))
    
        $catitle = $tier['category'];
    echo "<option> $catitle </option>" ;
       
    mysql_close();
       

    if(isset($_GET['func'])&& $_GET['func'] == 'drop_1')   
        drop_1($_GET['drop_var']);
        
        function drop_1($drop_var)
        
        require_once('connect.php');
        $result = mysql_query("SELECT * FROM subcats WHERE category='$drop_var'")
        or die(mysql_error());

        echo '
        <select id="subcat" name="subcat">
        <option disabled="disabled" selected="selected" value=" ">Choose one</option>
        <option value="'.$drop_2['subcat'].'">'.$drop_2['subcat'].'</option>
        </select>
        ';
        mysql_close();

        echo '
        <input name="submit" type="submit" value="Submit">';
        
?>

【问题讨论】:

$('#result_1') 隐藏,然后淡出..它应该再次显示吗? 我只是不明白为什么它一开始没有显示...我不明白... 很难遵循你真正想要做的事情......如果可以在浏览器中看到它会更容易,如果可能的话发布链接 blueicestudios.com/chained-select-boxes 这是它的来源 ...我累得不能被人批评框架了,我要去睡觉了。 【参考方案1】:

你确定"$_GET['func']" 有值吗?

代码是否通过if(isset($_GET['func'])&amp;&amp; $_GET['func'] == 'drop_1')

任何 MySQL 连接/查询问题?

到目前为止,您尝试了什么?

$.get("func.php", 
    func: "drop_1",
    drop_var: $('#drop_1').val()
  

func.php 与您的 html 位于同一目录中吗? firebug 有什么错误吗?

【讨论】:

代码越过了那行,不,我很确定 MYSQL 连接是可靠的。【参考方案2】:

如果有人想知道答案,我想通了。

改变这个。


        $catitle = $tier['category'];
    echo "<option> $catitle </option>" ;
     

到这里

 while($tier = mysql_fetch_array( $catresult )) 

        
           echo '<option value="'.$tier['category'].'">'.$tier['category'].'</option>';
        

【讨论】:

以上是关于mysql问题的动态下拉的主要内容,如果未能解决你的问题,请参考以下文章

nodejs mysql中的动态下拉列表

动态依赖选择下拉php sql同一张表

PHP、HTML JS MySQL 动态下拉菜单

使用 JSP、Servlet、JQuery 和非规范化 Mysql 表的依赖动态下拉列表

使用 php 变量创建动态 mysql 查询

动态下拉框?