gpt4 book ai didi

php - 使用单选按钮过滤搜索 PHP SQL

转载 作者:可可西里 更新时间:2023-11-01 08:11:07 26 4
gpt4 key购买 nike

我有一个有效的搜索列表。搜索根据查找搜索词是否类似于姓名、家庭和工作来工作。现在我想把这个搜索分开。我的意思是,创建三个单选按钮。当点击第一个按钮按姓名搜索时,第二个按家庭搜索,第三个按工作搜索。

所以我的基本代码在这里:

here need to add three radio button. (searchform.php)

<form name="form1"  dir="rtl" method="post" action="searchresults.php">
<label for="search"> search </label>
<input name="search" type="text" size="40" maxlength="50" placeholder="you can search">
<input type="submit" name="submit" value="search"/> <br/>
</form>

搜索代码在这里:

searchresult.php

<?php

$db_host = 'localhost';
$db_name= 'site';
$db_table= 'tablesite';
$db_user = 'root';
$db_pass = '';


$con = mysql_connect($db_host,$db_user,$db_pass) or die("خطا در اتصال به پايگاه داده");
$selected=mysql_select_db($db_name, $con) or die("خطا در انتخاب پايگاه داده");
mysql_query("SET CHARACTER SET utf8");
$dbresult=mysql_query("SELECT tablesite.name,
tablesite.family,
job_list.job_name,
FROM $db_table
INNER JOIN relation
on tablesite.id_user=relation.user_id
INNER JOIN job_list
on relation.job_id=job_list.job_id
WHERE job_name LIKE '%".$_POST['search']."%' OR
name LIKE '%".$_POST['search']."%' OR
family LIKE '%".$_POST['search']."%'",$con);
?>
<title>نتایج جستجو</title><fieldset class="fdex" dir="rtl">
<legend><span class="style4">نتایج جستجوی مشاغل</span></legend>

<?php


while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {

printf("نام: %s %s &nbsp&nbsp&nbsp شغل: %s &nbsp&nbsp&nbsp شماره تلفن: %s <br>", $row["name"], $row["family"], $row["job_name"], $row["phone_number"]);

}
?>

如您所见,在此搜索方法中,当用户在搜索框中输入示例学校时,它会按学校查找可能是某人家庭的所有结果。所以我需要将此搜索分成三个单选按钮。名字,第二个家庭,第三份工作。

最佳答案

只需将单选按钮添加到表单即可。

<form name="form1"  dir="rtl" method="post" action="searchresults.php">
<label for="search"> search </label>
<input name="search" type="text" size="40" maxlength="50" placeholder="you can search">
<input type="radio" name="search_type" value="job_name" checked="checked">Job<br>
<input type="radio" name="search_type" value="family">Family<br>
<input type="radio" name="search_type" value="name">Name
<input type="submit" name="submit" value="search"/> <br/>
</form>

并在您的 sql 查询中使用 post 字段和值。 mysql 已过时,因此您应该使用 mysqli,并且必须转义输入以防止注入(inject)攻击。

$field = mysql_real_escape_string($_POST['search_type']);
$value = mysql_real_escape_string($_POST['search']);
$sql = "SELECT tablesite.name,
tablesite.family,
job_list.job_name,
FROM $db_table
INNER JOIN relation
on tablesite.id_user=relation.user_id
INNER JOIN job_list
on relation.job_id=job_list.job_id
WHERE
$field LIKE '%".$value."%'";
$dbresult=mysql_query($sql,$con);

您可能还想在运行查询之前验证搜索值,并在遍历每一行之前检查结果。

关于php - 使用单选按钮过滤搜索 PHP SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33624698/

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