【问题标题】:dynamically updating select boxes with php mysql ajax使用 php mysql ajax 动态更新选择框
【发布时间】:2013-05-25 20:29:42
【问题描述】:

我正在尝试通过 php 使用 mysql 的结果填充初始选择框。然后我希望第二个选择框使用与第一个框中选择的内容相关的其他信息进行更新。

在这里我选择了一些活动名称,然后在第二个框中我想使用存储在 mysql 中的活动版本进行更新。

这是名称脚本:

<html>
<head>
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js">  </script>
    <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>

    <script type="text/javascript">
        $(document).ready(function(){
            $("#campaign").change(function(){
                 var campaign = $("#campaign").val();
                 $.ajax({
                    type:"post",
                    url:"getversion.php",
                    data:"campaign="+campaign,
                    success: function(data) {
                      $("#version").html(data);
                    }
                 });
            });
       });
    </script>
 </head>
 <body>

    Campaign :
    <select name="campaign" id="campaign">
      <option>-Select a Campaign-</option>
    <?php 
    include "db_conn.php"; 
    $result = mysql_query("SELECT campaign, time FROM dfa_data GROUP BY campaign");
    while($row = mysql_fetch_array($result)){

    echo "<option value=$row[campaign]>$row[campaign]</option>";

    } ?>
    </select>


    Version :
    <select name="version" id="version">
        <option>-Select a Version-</option>
    </select>
  </body>
</html>

然后有另一个脚本会拉入第二个选择框数据,虽然它没有填充,我也不知道为什么。

<?php
include "db_conn.php";

$campaign = $_POST["campaign"];

$result = mysql_query("SELECT * FROM dfa_data where campaign='$campaign' GROUP BY time");
   while($rowa = mysql_fetch_array($result)){
     echo"<option value=$rows[time]>$rows[time]</option>";

   }
?>

谁能告诉我我做错了什么以及为什么第二个选择框不会填充。提前致谢。

【问题讨论】:

标签: php mysql ajax


【解决方案1】:

不确定这是否是您的问题,但可能是一个问题。在您的第二个脚本中,您有:

while($rowa = mysql_fetch_array($result)){
  echo"<option value=$rows[time]>$rows[time]</option>";
}

您正在访问$rowa,但尝试访问$rows。试试这个吧。

while($row = mysql_fetch_array($result)){
   echo '<option value="'.$row['time'].'">'.$row['time'].'</option>';
}

【讨论】:

  • 两个脚本中的语法更改解决了这个问题。非常感谢。
  • 不客气。有时只是需要第二双眼睛。 :)
【解决方案2】:

我认为 rowa 和 rows 是错误。尝试行而不是两者

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 2017-07-16
    • 2014-01-18
    • 1970-01-01
    • 2012-11-25
    • 2014-07-18
    • 2015-07-13
    • 2013-01-25
    相关资源
    最近更新 更多