gpt4 book ai didi

php - 如何显示连接到数据库的表单搜索结果?

转载 作者:行者123 更新时间:2023-11-29 22:18:56 25 4
gpt4 key购买 nike

我要向您展示的代码无法正常工作。没有显示 IF 条件的结果。但对于其他人来说。当我使用 echo 单独调用 $service_id 时,它会提供我搜索的 ID,但在 WHERE close 中使用时: service_id = '$service_id' 不会显示任何内容。

<form method="GET" name="pesquisa" id="inserrifo" action="/services.php">
<input class="procurasalgo" id='pesqSign' name="keyword" value="<?php echo $keyword;?>" placeholder="Inserir palavra"/><label for="pesqSign" id="pesqSigne"><img class="lupapesquisa" src="/img/search-26.png" /></label>
<select name="services">
<option disabled selected value=''>Serviços</option>
<?php
$res = $DAL->mysqlQuery("SELECT * FROM services");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row['serv_id']."'>".$row['serv_name']."</option>";
}
?>
</select>
<select name='distritos'>
<option disabled selected value=''>Portugal</option>
<?php
$res = $DAL->mysqlQuery("SELECT * FROM distritos");
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row['d_id']."'>".$row['d_nome']."</option>";
}
?>
</select>
<button>Procurar</button>
</form>

"placeholder="Inserir palavra"/> 服务 mysqlQuery("从服务中选择 *"); while($row = mysql_fetch_assoc($res)){ echo "".$row['serv_name'].""; } ?> 葡萄牙 mysqlQuery("从分区中选择 *"); while($row = mysql_fetch_assoc($res)){ echo "".$row['d_nome'].""; } ?> 普罗库拉尔

<?php   

$service_id = $_GET['services'];
$district_id = $_GET['distritos'];
$keywords = $_GET['keyword'];


if ($service_id != '' || $district_id != '' || $keywords != '') {

$result = $DAL->mysqlQuery("SELECT * FROM users, services, distritos, users_services WHERE u_id = user_id && service_id = '$service_id' && distrito_id = '$district_id' ");

$row = mysql_fetch_assoc($result);

while($row = mysql_fetch_assoc($result)) {

$img_user = $row['u_foto'];


echo "<div class='Services'><img src='http://mufip.pt/images/userimages/avatars/".$img_user."' /><br /><h5>".$row['u_name']."<h5><h6>".substr($row['u_descricao'],0, 140)."</h6></div>";

} //while

} //if

else {

$result = $DAL->mysqlQuery("SELECT * FROM users, services, distritos, users_services WHERE u_id = user_id && service_id = serv_id && distrito_id = d_id ORDER BY RAND()");

$num = mysql_numrows($result);
echo $num." resultados<br />";

while($row = mysql_fetch_assoc($result)) {

$img_user = $row['u_foto'];

echo "<div class='Services'><img src='http://mufip.pt/images/userimages/avatars/".$img_user."' /><br /><h5>".$row['u_name']."<h5><h6>".substr($row['u_descricao'],0, 140)."</h6></div>";

} //while

} //else

?>

最佳答案

if ($service_id != '' || $district_id != '' || $keywords != '') {

行正在检查三个之间是否存在任何字段。换句话说,当 $service_id 或 $district_id 或 $keywords 不为空时,此逻辑检查将为您提供 TRUE。假设用户仅输入“关键字”的值,在此页面中,您将仅获得 $keywords 的值,并且 $service_id 和 $district_id 将为空。

由于其中之一(此处为 $keywords)不为空,因此 IF 语句将返回 true,程序控制将在其中移动。

但是,在 SQL 查询中,您使用 AND 条件,并且要求 service_id 和 distrito_id 列中的值有效或非空。由于其中之一可能仍为空,因此该查询将不会产生任何结果。

要调试这种情况,请仅从下拉列表之一中选择值,然后使用 echo 语句打印 IF block 内的查询。

关于php - 如何显示连接到数据库的表单搜索结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30935067/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com