两个下拉菜单MySQL和PHP


two drop down menu mysql and php

我正在创建一个php搜索。我从数据库中选择了 2 个菜单结果。第一个菜单工作正常,但第二个菜单没有。你能帮帮我吗?

这是我的家.php

<?php
require("ConfigPage.php");
$sql="SELECT LocationName
FROM tblplacelocation
Join tblplace ON tblplace.PlaceID=tblplacelocation.PlaceID
Join tbllocation ON tbllocation.LocationID=tblplacelocation.LocationID
where PlaceType='Hotels'" ;
$result = mysql_query($sql,$con);
echo '<form><P style="color:white;">Region</P>
<select name="PlaceID" onchange="showUser(this.value)">
<option value="">Region:</option>';
while($data = mysql_fetch_array($result))
  {
  $id= $data['PlaceID'];
  $lname = $data['LocationName'];
  echo "<option value='". $lname. "'>".$lname."</option>";
  }
echo "</select></form>";
echo "<div id='txtHint'></div>";
echo "<div id='divImage'></div>";?>

这是获取者.php

<?php
$q = intval($_GET['q']);
include("ConfigPage.php");
$sql="SELECT PlaceName
FROM tblplacelocation
Join tblplace ON tblplace.PlaceID=tblplacelocation.PlaceID
Join tbllocation ON tbllocation.LocationID=tblplacelocation.LocationID
 WHERE LocationName = '".$q."' AND PlaceType='Hotels'";
$result = mysql_query($sql,$con);
echo '<form><P style="color:white;">Place Name</P>
<select name="adminID" onchange="showImages(this.value)">
<option value="">Select a place:</option>';
while($data = mysql_fetch_array($result))
  {
  $pid= $data['LocationName'];
  $pname = $data['PlaceName'];
  echo "<option value='". $pid. "'>".$pname."</option>";
  }
echo "</select></form>";
mysql_close($con);
?>

这是 Java 脚本:

function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  } 
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("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}

我不知道怎么了。第一个菜单显示结果,但第二个菜单不包含任何内容。

我建议你使用Firebug进行调试。

  1. 检查您是否有任何JavaScript错误(可能是语法错误)
  2. 检查您的 ajax 请求是否正在发送,如果是,请检查响应中的内容
  3. 检查您的 DOM 元素是否被正确选择...在Firebug中,你可以在控制台区域执行JavaScript。检查您的 document.getElementById 是否通过自己插入内容来选择正确的元素
  4. 如果所有这些都有效,请检查您的 select 元素是否有空选项。 如果是这种情况,您的变量应为空
  5. 如果您的选择元素没有选项,则您的 SQL Select 可能有问题

如果你只是在试验,没关系,但除此之外,让我说你的代码看起来很丑。这不是你应该编程的方式。您应该考虑按关注点划分代码。查看任何 PHP 框架的模型-视图-控制器模式和初学者教程。

MVC:http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller

一个易于学习的框架:http://www.yiiframework.com/