gpt4 book ai didi

具有多个输入的 PHP 搜索表单

转载 作者:行者123 更新时间:2023-11-29 01:54:36 24 4
gpt4 key购买 nike

我有一个 PHP 脚本,我试图用它从数据库生成搜索结果,其中包含多个搜索文本输入和一个提交。这三个输入是 Term、Keyword 和 Location。我已经完成了搜索,但我发现验证逻辑有点困难。我将查询分为三个部分,以便当其中一个输入为空时,它可以免除该部分查询被添加到完整查询中。但是由于 OR 运算符,当第一个输入为空时,其余的将失败。

第二只眼睛在这里会有帮助。请不要将此问题标记为过于笼统,只需查看查询即可发现问题所在。

$term = mysqli_real_escape_string ($con , $_GET['term'] );
$location = mysqli_real_escape_string ($con , $_GET['location'] );
$keyword = mysqli_real_escape_string ($con , $_GET['keyword'] );

if(empty($term)) {
$term1 = "";
}else{$term1 = "job_title LIKE '%".$term."%'";}

if(empty($location)) {
$loc1 = "";
}else{$loc1 = "location LIKE '%".$location."%'";}

if(empty($keyword)) {
$key1 = "";
}else{$key1 = "OR description LIKE '%".$keyword."%'";}


$sql = "SELECT * FROM jobs WHERE ".$term1." ".$loc1." ".$key1." ";
$r_query = mysqli_query($con,$sql);


while ($joblist = mysqli_fetch_array($r_query)){
$now = date('Y-m-d',time());

最佳答案

您在第一个 like 语句后缺少 OR,此处 -

if(empty($location)) {
$loc1 = "";
}else{$loc1 = "location LIKE '%".$location."%'";}

您可能想在 location like 之前放置一个 OR,所以 -

"OR location LIKE '%".$location."%'"

关于具有多个输入的 PHP 搜索表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32773411/

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