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

2024-04-13

我有一个有效的搜索列表。搜索的工作原理是查找搜索词是否如姓名、家庭和工作。现在我想把这个搜索分开。我的意思是,创建三个单选按钮。单击第一个按钮按姓名搜索,单击第二个按钮按家庭搜索,单击第三个按钮按工作搜索。

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

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

搜索代码在这里:

搜索结果.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);

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用单选按钮 PHP SQL 过滤搜索 的相关文章

随机推荐

  • 允许 cPanel 管理 SetEnv 参数

    我们有一个应用程序 它使用 Apache 环境参数来确定它应该使用什么配置 该应用程序的大约 5 个实例托管在一台 cPanel WHM 开发服务器上 我们可以使用 htaccess设置正确的环境 但这会导致未提交的更改 cPanel 应通
  • 是否有关于 HTML 资源包的建议?

    是否有 HTML 资源包的提案 RFC 或者已经有一个标准而我错过了机会 资源束的概念很好地适用于PDF Java 的JAR 闪光的SWF 安卓的APK ETC 看来 WWW 在这里落后了 这是我的非正式建议 允许捆绑所有页面 特定资源 i
  • mysql 假选择

    我的目的是 从值列表中获取多行 例如 1 2 3 4 5 a b c anything 等 mysql gt select id from accounts where id in 1 2 3 4 5 6 id 1 2 3 5 6 5 ro
  • 使用特定网络接口执行请求

    是否可以使用特定的网络接口在 NodeJS 中执行 GET POST 请求 IE 使用 CURL 我可以调用两个 POST 调用 例如 curl X POST interface wlan0 http 192 168 1 5 resourc
  • 新改版(2015 年 9 月)iTunes connect UI 中 iOS 应用程序客户评论部分在哪里

    很抱歉这个明显愚蠢的问题 但是有谁能够找到新改版 2015 年 9 月 的 iTunes connect UI 中客户评论部分已移至何处 在之前的界面迭代中 当您在 iTunes connect 中选择应用程序时 会有一个 评论 选项卡 但
  • YouTube Iframe API - OnStateChange 突然不起作用[重复]

    这个问题在这里已经有答案了 直到美国东部标准时间下午 6 点左右 下面的代码都可以正常工作 但现在由于某种原因 onStateChange 没有触发 我尝试过多种浏览器 并让朋友检查过 看到什么明显错误了吗 div div div div
  • e.preventDefault 阻止点击

    我有以下代码来测试 e preventDefault 的工作原理 我认为这会阻止点击事件的发生 document ready function button click function e e preventDefault alert b
  • 运行 Terraform Plan/Apply 时出现 InvalidClientTokenID 错误

    我正在使用 Terraform 和用户数据在 AWS 中设置 HA 集群 我的 main tf 看起来像这样 provider aws access key access key secret key secret key resource
  • Node.js 抓取工具中的内存泄漏

    这是一个用 JavaScript 和 Node js 编写的简单抓取工具 用于抓取 Wikipedia 中的元素周期表元素数据 依赖项是jsdom https github com tmpvar jsdom用于 DOM 操作和链帮 http
  • jsPlumb 新连接处理程序:如何获取端点锚点位置?

    是的 所以我一直在玩 jsPlumb 假设我有一个有两个端点的 div 一个顶部中心 一个底部中心 创建新连接时 我可以使用下面的函数绑定到该事件 我的问题是 如何获得端点的锚位置 我确实获得了 Source 和 TargetEndpoin
  • 即使导出路径也找不到 conda 命令

    我将 anaconda3 安装到我的主目录中 这是我在终端中看到的 我的 bash profile 看起来像这样 导出 PATH Users spotter anaconda3 bin PATH 所以我不明白为什么 conda 不被识别 当
  • 从单个表中选择同一列两次但条件不同

    我想显示员工的姓名和号码以及老板的号码和姓名 如下所示 只有一张表 到目前为止我尝试过 SELECT ID Name Boss SELECT Name FROM Employees WHERE ID IN SELECT Boss FROM
  • 使用 pip 安装后找不到 cookiecutter 命令

    我想使用 cookiecutter 启动 django 项目 但由于某种原因找不到 cookiecutter 我所做的是 pip install cookiecutter 在那之后 cookiecutter https github com
  • C++ 支持编译时计数器吗?

    出于自省的目的 有时我想自动将序列号分配给类型或类似的东西 不幸的是 模板元编程本质上是一种函数式语言 因此缺乏实现此类计数器的全局变量或可修改状态 或者确实如此 根据请求的示例代码 include
  • 进度条的可见性

    当用户在一项活动中单击按钮时 我需要处理一些数据 因此屏幕看起来应用程序停止了 2 3 秒 这不是很多 但我想向用户提供一切正常的信息 IMO 最好的方法是进度条 仅在处理数据时才可见 我找到了ProgressBar的代码 它看起来像这样
  • 如何更改类内的变量?在Python中

    我已经开始编写一个空闲游戏的代码 但稍后我会添加某种类型的输入 我的问题是我的class库存不增加int s from def砍 我的到我的variable SP wood SP stone 它只是替换variable与它得到的号码def砍
  • 从 F# 调用 C# 异步方法会导致死锁

    我有一组 F 脚本 它们调用我们创建的各种库 其中许多库公开了最初用 C 编写的异步方法 最近我发现脚本停止工作了 我想距离我上次使用它们已经有半年了 当时它们还可以工作 我试图隔离问题并提出了以下代码来重现它 首先 我们考虑一个包含以下
  • 如何在 Pandas 数据框的多列上运行 Ta-Lib?

    我有一个数据框 其中包含多种证券的价格作为列 但我找不到一次性运行 TA Lib 的解决方案 因为它需要 numpy ndarray 如何在多种证券上运行 TA Lib 并获得数据帧作为回报 import talib as ta d sec
  • 缓存 VS 会话 VS cookie?

    缓存 会话 Cookie 的注意事项是什么 例如 我经常使用会话变量 有时当用户开始订购产品然后去吃午餐并在几个小时后回来并继续预订时 预订应用程序中有时会出现问题 我将预订存储在会话中 直到用户确认或中止预订 因此当用户只需单击浏览器中的
  • 使用单选按钮 PHP SQL 过滤搜索

    我有一个有效的搜索列表 搜索的工作原理是查找搜索词是否如姓名 家庭和工作 现在我想把这个搜索分开 我的意思是 创建三个单选按钮 单击第一个按钮按姓名搜索 单击第二个按钮按家庭搜索 单击第三个按钮按工作搜索 所以我的基本代码在这里 这里需要添