当前位置:Gxlcms > PHP教程 > 如何用SELECT下拉菜单和TEXT文本框从选择数据库搜索数据

如何用SELECT下拉菜单和TEXT文本框从选择数据库搜索数据

时间:2021-07-01 10:21:17 帮助过:53人阅读

例如我的下拉列表中学号、姓名、籍贯等选项,我选中“籍贯”,并在后面的文本框中输入“北京”,点击搜索按钮就在数据库中相应的籍贯字段进行匹配,并输出最终的结果。我是用php+mysql,请问我下面的代码有问题吗?总是无法实现功能,显示记录为0条。

HTML页面:


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"

请输入关键词!

";
exit;//若没有输入关键词,则结束程序
}
else{
echo("
搜索结果:共有".$row."条记录

");
echo("");
echo("");
echo("");
while ($table = mysql_fetch_array($result))//输出数据查询数据!
{
echo("");
echo("");
echo("");
}
echo("
学号姓名籍贯
".$table['xh']."".$table['xm']."".$table['jg']."
");
}
}
?>


回复讨论(解决方案)

'$searchId' =>`$searchId` 或者干脆就什么都别加。

mysql_num_rows

我试过了,还是不行啊,$searchId上的引号加上或者去掉都不成。还有别的方法吗?

不知道你说哪里不行。$row还是0吗?
$result = mysql_query($sqltext) or die(mysql_error());

贴出错误提示。

$sqltext = "select * from lxsh where '$searchId' like '%$keyword%'";

把这一句改成:

$sqltext = "select * from lxsh where $searchId like '%$keyword%'";

echo $sqltext;//可以打印出来看一下

$row = mysql_num_rows($result);
不是
$row = mysql_numrows($result);
楼主你写错了

回复3楼和4楼:

没有错误提示,就是点击了搜索以后搜索结果显示0条,没有任何搜索结果。
按照4楼的打印,比如我选了“学号”,输入了“069”,打印结果显示如下:
select * from lxsh where like '%069%'

$searchId的值没有取到,where后面什么都没有。

回复5楼:
已经修改过了,但是还是没有结果的显示,不知道是怎么回事。

回复3楼:

不好意思,有错误提示如下:
“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like '%%'' at line 1”

回复3楼:

不好意思,有错误提示如下:
“You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'like '%%'' at line 1”



你的$keyword有问题,可能值没传过来。检查一下




这里的value值的设置,你的有没有跟你数据库中的命名是一样的??如果不一样,你把它改成跟数据库的命名一样试试看!

人气教程排行