如何用SELECT下拉菜单和TEXT文本框从选择数据库搜索数据
例如我的下拉列表中学号、姓名、籍贯等选项,我选中“籍贯”,并在后面的文本框中输入“北京”,点击搜索按钮就在数据库中相应的籍贯字段进行匹配,并输出最终的结果。我是用php+mysql,请问我下面的代码有问题吗?总是无法实现功能,显示记录为0条。
HTML页面:
<form name="search" action="search.php?action=search" method="post">
<select name="searchoption" id="searchoption">
<option value="xh" selected="selected">学号</option>
<option value="xm">姓名</option>
<option value="jg">籍贯</option>
</select>
<input type="text" name="keyword" id="keyword"/>
<input type="submit" value="搜索" />
</form>
PHP页面:
<?php
error_reporting(E_ALL ^ E_NOTICE);
$dbhost = "localhost";
$dbuser = "root";
$dbpassword = "";
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_query("SET NAMES 'UTF8'");
mysql_select_db("lxshfile");
if(isset($_GET["action"])&&$_GET["action"]=="search"){
$searchId =$_POST["searchoption"];
$keyword =$_POST["keyword"];
$sqltext = "select * from lxsh where '$searchId' like '%$keyword%'";
$result = mysql_query($sqltext);
$row = mysql_numrows($result);
if($keyword==""){
echo"<p align='center'><strong>请输入关键词!</strong></p>";
exit;//若没有输入关键词,则结束程序
}
else{
echo("<strong><br/>搜索结果:共有".$row."条记录</strong></br>");
echo("<table width='100%' border='1' bordercolor='#0066CC'><tr><td align='center'><strong>学号</strong></td>");
echo("<td align='center'><strong>姓名</strong></td>");
echo("<td align='center'><strong>籍贯</strong></td></tr>");
while ($table = mysql_fetch_array($result))//输出数据查询数据!
{
echo("<tr><td align='center'>".$table['xh']."</td>");
echo("<td align='center'>".$table['xm']."</td>");
echo("<td align='center'>".$table['jg']."</td></tr>");
}
echo("</table>");
}
}
?>
------解决方案--------------------'$searchId' =>`$searchId` 或者干脆就什么都别加。
mysql_num_rows
------解决方案--------------------$sqltext = "select * from lxsh where '$searchId' like '%$keyword%'";
把这一句改成:
$sqltext = "select * from lxsh where $searchId like '%$keyword%'";
echo $sqltext;//可以打印出来看一下