两个下拉菜单mysql和php

时间:2015-02-02 19:11:28

标签: php mysql drop-down-menu

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

这是我的home.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>";?>

这是getuser.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();
}

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

1 个答案:

答案 0 :(得分:1)

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

  1. 检查您是否有任何javascript错误(可能是语法错误)
  2. 检查您的ajax请求是否正在发送,如果是,请检查响应中的内容
  3. 检查您的dom元素是否正确选择...在firebug中,您可以在控制台区域中执行javascript。检查你的document.getElementById是否通过自己插入内容来选择正确的元素
  4. 如果所有这些都有效,请检查您的select元素是否有空选项。如果是这种情况,那么你的变量应该是空的
  5. 如果你的select元素没有选项,你的sql选择可能是错误的
  6. 如果您只是在尝试,那就没关系,但另外请允许我说您的代码看起来非常难看。这不是你应该编程的方式。 您应该考虑按关注点划分代码。查看任何PHP框架的模型 - 视图 - 控制器模式和初学者教程。

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

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