【发布时间】: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>";
}
?>
谁能告诉我我做错了什么以及为什么第二个选择框不会填充。提前致谢。
【问题讨论】:
-
您是否也在使用 AJAX 进行第二次选择?另外,不要在新代码bit.ly/phpmsql 中使用 mysql_* 函数。它们不再被维护并被正式弃用wiki.php.net/rfc/mysql_deprecation。了解 Prepared statements j.mp/T9hLWi 并改用 PDO php.net/pdo 或 MySQLi php.net/mysqli。