我有一个下拉列表,其中包含一周中的每一天。
DAYS[Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday]
然后我运行此查询:
"SELECT DISTINCT DAY_1 FROM credit_three"
我使用以下代码将结果放在另一个下拉列表中:
<select name='DAY_1' onchange="ILovePHP();">
<?php while ($row = mysql_fetch_array($result)) {
echo"<option value='" .$row['DAY_1']."'>". $row['DAY_1']."</option>";
}
</select>
当下拉列表中的值发生变化时,我需要运行另一个查询。为此,我尝试了以下方法:
On-Change我正在运行由脚本提供的函数ILovePHP()
:
myfunction()是用php编写的
function myfunction() {
$sql = "SELECT TIME_1 FROM CREDIT_THREE WHERE DAY_1=DAY1";
$result = mysql_query($sql2);
row = mysql_fetch_array($result);
}
但是......我的查询没有运行。我做错了什么?
答案 0 :(得分:0)
您有一个拼写错误 - 您将查询放入名为$sql
的变量中,然后将另一个变量传递给mysql_query
,&#34; $sql2
&#34;
$sql="SELECT TIME_1 FROM CREDIT_THREE WHERE DAY_1=DAY1";
$result=mysql_query($sql2);
答案 1 :(得分:0)
您需要使用AJAX来运行服务器端功能。
试试这个:
<script>
function myfunction(str2) {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
}
}
xmlhttp.open("GET", "ajax_info.php?q=" + str2, true);
xmlhttp.send();
}
</script>
要设置str2
的值,您需要传入this.value
在ajax_info.php
页面中,您现在可以对查询进行编码,结果将在div
标记中显示id="mydiv"
。您可以在前端页面的任何位置执行此操作,如下所示:
<div id="mydiv"></div>
现在您可以使用以下行:
echo"<option value='" .$row['DAY_1']."'>". $row['DAY_1']."</option>";
在您的ajax_info.php
页面中,并在div
代码中获得您想要的结果。
如果您需要更多帮助,请与我们联系。
答案 2 :(得分:-1)
你需要在更改下拉列表时发送ajax请求,这个ajax请求将从查询中获取结果并创建html,然后你需要用jquery替换html。 有关详细信息,您可以看到以下链接..
http://www.plus2net.com/php_tutorial/ajax_drop_down_list-demo.php