我有一个搜索列表,可以正常工作.该搜索根据找到的单词是否与姓名,家庭和工作相似来进行.现在我想分开搜索.我的意思是,创建三个单选按钮.点击第一个按名称搜索,第二个按家庭搜索,第三个按工作搜索时.
所以我的基本代码在这里:
here need to add three radio button. (searchform.php)
search
搜索鳕鱼在这里:
searchresult.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);
?>
نتایج جستجونتایج جستجوی مشاغل
while ($row = mysql_fetch_array($dbresult, MYSQL_ASSOC)) {
printf("نام: %s %s     شغل: %s     شماره تلفن: %s
", $row["name"], $row["family"], $row["job_name"], $row["phone_number"]);
}
?>
如您所见,在这种搜索方法中,当用户在搜索框中输入示例学校时,它将按学校查找可能是一个人的家庭的所有结果.所以,我需要将此搜索分为三个广播按钮.名字,第二家庭,第三份工作.
解决方法:
只需将单选按钮添加到窗体.
search
Job
Family
Name
并在sql查询中使用post字段和值. mysql已贬值,因此您应该使用mysqli,并且必须对输入进行转义以防止注入攻击.
$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);
您可能还想在运行查询之前验证搜索值,并在遍历每一行之前检查结果.
标签:sql,mysql,php
来源: https://codeday.me/bug/20191119/2036355.html