我想搜索我的网站,如果我搜索会员证书没有,它会显示他的全部细节。但在我的代码中,当我搜索证书编号:1时,它显示证书的详细信息编号为1,10,11,12,13,14,15,....PHP搜索显示多个结果
是否有任何方法显示单个成员的详细信息。
if(isset($_POST['search'])){
$searchq = $_POST['search'];
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
$query = mysql_query("SELECT * FROM certificate WHERE certificate_no LIKE '%$searchq%' ") or die ("could not search ");
}
$count = mysql_num_rows($query);
if($count==0){
$output = 'There is no search result ';
} else {
while ($row = mysql_fetch_array($query)){
$name =$row['name'];
$certificate_no =$row['certificate_no'];
$y_of_passing =$row['y_of _passing'];
$grade =$row['grade'];
$score =$row['score'];
$output.='<div>Certificate Number : ' .$certificate_no.' <div>Candidate Name : '.$name. '<div>Grade/Score : ' .$grade.' <div>Course Name : '.$score. '<div>Year Of Passing: '.$y_of_passing.'<div>';
echo "<img src ='".$row['photo']."' height='100' width='200' >" ;
}
}
print("$output");
什么是certificate_no是primerykey还是unique? –
mysql_ *函数已被弃用。你应该看看MySQLi或PDO。 – Option
*“当我搜索证书编号:1时,会显示证书编号为1,10,11,12,13,14,15的详细信息,”* ...呃,是的,这就是您告诉它要做的事情'WHERE certificate_no LIKE'%$ searchq%'' - 如果你想要一个特定的证书,只需使用'WHERE certificate_no = $ searchq' ...除了将其移动到具有绑定参数的mysqli/pdo; mysql_'扩展名已经失效,并且将数据插入到SQL中,就像是在寻找麻烦。 – CD001