我整天都在努力寻找这个搜索功能。
// If breed2 NULL, search with this query
if ($breed2 == "NULL") {
$search = mysqli_query($dbconn, "SELECT * FROM `lstfnd` WHERE `doglf_stat` = 'Lost' AND `doglf_breed1` = '$breed1' AND `doglf_breed2` IS NULL AND `doglf_sex` = '$sex' AND `doglf_colour` = '$colour'");
// Else search with this query
} else {
$search = mysqli_query($dbconn, "SELECT * FROM `lstfnd` WHERE `doglf_stat` = 'Lost' AND `doglf_breed1` = '$breed1' AND `doglf_breed2` = '$breed2' AND `doglf_sex` = '$sex' AND `doglf_colour` = '$colour'");
}
$schrow = mysqli_fetch_assoc($search);
使用的变量是从下拉列表中检索的值。我已经检查过了:
问题似乎在于显示结果。
while($schrow = mysqli_fetch_assoc($search)) {
echo ('
<p><b><a class="blue" href="lostrep.php?lookup='.$schrow['doglf_id'].'">
#'.$schrow['doglf_id'].' : '.$schrow['doglf_name'].'</a></b>
<br>'.$schrow['doglf_breed1'].' X '.$schrow['doglf_breed2'].'
|
'.$schrow['doglf_sex'].
' |
'.$schrow['doglf_age'].'
|
'.$schrow['doglf_colour'].'
|
Neutered: '.$schrow['doglf_neuter'].'
|
Microchipped: '.$schrow['doglf_mchip'].'
<br>Lost in '.$schrow['doglf_pcode'].' on '.$schrow['doglf_date'].'</p>
');
}
我无法弄清问题在哪里。有什么建议吗?
答案 0 :(得分:1)
您希望返回多少结果?
如果只有一个,那么您发布的第一个区块中的代码如下:
$schrow = mysqli_fetch_assoc($search);
正在获得结果,这意味着当您致电while ($schrow = mysqli_fetch_assoc($search)) {
时,它将为null
,因此不会显示任何内容。从第一个块中删除$schrow = mysqli_fetch_assoc($search);
并尝试一下。
答案 1 :(得分:0)
在if (!$search) { echo mysqli_error($dbconn); }
之后添加mysqli_query
,您将看到问题所在。
答案 2 :(得分:0)
您的PHP中似乎有一个错误,您开始打印文本。您在print '
之前错过了<p>
。同样,您错过了文字末尾的';
。