当前位置: 首页 > 面试题库 >

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

尹昂雄
2023-03-14
问题内容

我有一个搜索列表,可以正常工作。该搜索根据找到的单词是否与姓名,家庭和工作相似来进行。现在我想分开搜索。我的意思是,创建三个单选按钮。点击第一个按名称搜索,第二个按家庭搜索,第三个按职位搜索时。

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

这里需要添加三个单选按钮。(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>

搜索search在这里:

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,并且必须对输入进行转义以防止注入攻击。

$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);

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



 类似资料:
  • 问题内容: 每当我在应用程序中搜索时,都会显示正确的结果,但是当我点击搜索的单元格时,在执行搜索之前,它始终会播放表格的第一个索引。我试图在我的didselectcell中使用isSearching Bool,但似乎无法正常工作。 问题答案: 我认为问题在于您正在跟踪自己是否在搜索和操作源数据数组。 我有一个示例游乐场代码段,我已将其用于其他一些答案,该示例向您展示了如何更有效地执行此操作,并提供

  • 我已经搜索了前面的一些问题,并没有能够纠正--我是一个完全的新手,所以请原谅我的无知...尝试使用以下方法选择页面上的第三个“单选”按钮: 结果是: “消息:没有此类元素:找不到元素:{”method“:”XPath“,”Selector“:”//[@id=“Wizard_Tabs”]/div/div[1]/div/ul/li[3]/input“}”

  • 问题内容: 我有一个很大的数据列表(4000多个项目)。开始输入时- 我的浏览器冻结(最多15秒)。所以我需要关闭自动过滤器功能,并将过滤器功能绑定到单击按钮。通过Google寻找答案没有结果。我该怎么做?请帮帮我 :) 码: 和控制器: 问题答案: 我找到了解决方案! 更改: 至: 向控制器添加“ applySearchFilter”功能 并为过滤器按钮添加html代码: 这有效! 请注意,我在

  • 问题内容: 我想为捐赠表格设置一组单选按钮,但是我希望它们看起来像按钮而不是圆形表盘。 做这样的最好的方法是什么?另外,请记住,它必须与IE8一起使用。 这是我到目前为止的内容 谢谢 问题答案: 可以使用CSS来完成,而无需大型框架。我已经使用复选框和单选按钮完成了此操作。 此方法无需添加新的HTML或引入任何JS库即可。 => HTML的新命令 这是一个十分钟的hacky版本,您可以进一步清理它

  • 在我的项目中,我正在尝试用单选按钮更改src。` 正如你从我的代码中看到的,我正在尝试改变4个SRC。“Imghali”和“Qrimage”正在为我的项目工作。当我检查我的按钮(birinci1和birinci2)“imghali”和“qrimage”时,src正在改变。但是“Arhali”src(AR-Button的src)没有改变。 这里怎么了?任何解决方案或建议都会很好。 我的项目链接 nu

  • 我在使用 setOnItemClickListener 时遇到问题。每次我尝试时,它都会导致太多的修复错误,使代码比我打算做的更糟糕。 这是我的代码: 我想让listview数据中的字符串在我的其他活动中可点击,但这不起作用。我试过这个代码: 错误如下:-在lv.setOnItemClickListener中,“AdapterView类型中的方法setOnItemClickListener(Ada