如何用SELECT下拉菜单和TEXT文本框从选择数据库搜索数据
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("
学号 | ");姓名 | ");籍贯 |
".$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值的设置,你的有没有跟你数据库中的命名是一样的??如果不一样,你把它改成跟数据库的命名一样试试看!