问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php如何按条件搜索数组里面的值?产品筛选功能

发布网友 发布时间:2022-04-28 01:30

我来回答

2个回答

懂视网 时间:2022-04-28 05:51

php按条件查询的实现方法:首先调取之前封装好的类;然后利用关键词模糊查询;接着创建表单,将数据提交到当前页面,提取关键字查询;最后用PHP代码遍历表中元素,将关键字变为红色即可。

推荐:《PHP视频教程》

一、单条件查询,就是只有一个条件的查询:

1.首先调取之前封装好的类,然后利用关键词模糊查询:

<?php //单查询
require "DBDA.class.php";//调取封装类
$db=new DBDA;
$Sname="";//创建变量,为了后面可以让Sname在表单中显示
$sql="select * from t_student";

if(!empty($_POST["Sname"]))//确定是否存在数据
{
 $Sname=$_POST["Sname"];
 $sql="select * from t_student where Sname like '%{$Sname}%' ";//模糊查询
}
?>

2、创建表单,将数据提交到当前页面,提取关键字查询:

<form action="chaxun.php" method="post"><!--因为查询数据在当前页面,所以提交到当前页面-->
<div>姓名:<input type="text" name="Sname" value="<?php echo $Sname ?>" />
<input type="submit" value="查询" /></div>
</form><br />

<table width="100% " border="1" cellpadding="0" cellspacing="0">
 <tr>
 <td>姓名</td>
 <td>性别</td>
 <td>班级</td>
 </tr>

3、遍历表中元素,将关键字变为红色:

<?php
$arr=$db->query($sql);
foreach($arr as $v)
{
 $str = str_replace($Sname,"<span style='color:red'>{$Sname}</span>",$v[1]);//用span标签使关键字变为红色,
 echo "<tr>
 <td>{$str}</td>
 <td>{$v[2]}</td>
 <td>{$v[4]}</td>
 </tr>"; 
}
?>

最终结果:

b6fd7b7faa80d06b9ab9313ff6df3b9.png

二、多条件查询:

1、先做一个表单,并创建表格将表显示出来:

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
 <td>代号</td>
 <td>名称</td>
 <td>系列</td>
 <td>上市时间</td>
 <td>价格</td>
</tr>
</table>

2、调取封装类,并创造相应条件,并检验数据是否为空:

<?php
require "DBDA.class.php";
$db=new DBDA();//1.如果没有提交数据,显示所有//2.如果有提交数据,根据关键字查询显示$name="";
$tj1=" 1=1 "; //第一个条件,对应名称,要用空格隔开$tj2=" 1=1 ";//第二个条件,对应系列,要用空格隔开if(!empty($_POST["name"]))
{
 $name = $_POST["name"];
 $tj1 = " name like '%{$name}%' ";
}if(!empty($_POST["brand"]))
{
 $brand = $_POST["brand"];
 $tj2 = " brand = '{$brand}' ";
}//总条件$tj=" {$tj1}and{$tj2} ";
$sql="select * from car where".$tj;?>

3、用php代码遍历数据库的表,将关键字变为红色(php要嵌在table里):

<?php
$arr = $db->query($sql);foreach($arr as $v)
{
 $str = str_replace($name,"<span style='color:red'>{$name}</span>",$v[1]);
 echo "<tr>
 <td>{$v[0]}</td>
 <td>{$str}</td>
 <td>{$v[2]}</td>
 <td>{$v[3]}</td>
 <td>{$v[7]}</td>
</tr>";}?>

最终结果为:

301616886cf751940fe7ff1901f71bd.png

热心网友 时间:2022-04-28 02:59

这样?

其实很简单, 通过 php 内置函数 strstr 检索字符串的子串就可以做到这种类似于模糊搜索的功能。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
硅胶与液态硅胶手机壳的区别 什么样的过敏会传染 过敏的原理是什么?为什么有的人过敏,有的人不过敏?谢谢! 过敏为什么会痒 评审报告需要注意什么 财政评审流程及注意事项 高效项目评审的6大注意事项 银行双录 什么意思 什么是银行双录 在异地哪些可公证 php怎样实现点击删除时弹出输入框输入密码确认后再删除? php mysql怎么实现删除功能? php+mysql 删除指定行时弹出“确认”“取消”代码 php查询结果后的删除按钮怎么实现 确认删除提示的小白问题,php php实现删除 关于PHP删除和修改留言板留言功能的代码,急 thinkphp中怎样实现信息提示后消失? 在php中,点击&quot;删除&quot;后,如何在本页显示&quot;删除成功&quot;啊? php 紧急求助,想实现点击删除按钮删除数据库内对应的id信息 php我想要点击删除按钮,弹出一个alert,有确定和取消按钮,点击确定就是删除,取消就是停在当前页,急用 PHP应用技巧:如何将代码中的通知和警告删除 php做网站时如何在执行删除操作时弹出确定删除对话框 php 我想在删除信息时弹出一个信息提示框 确定是否删除 php怎样实现删除出现确认框? phpstudy配置https安全域名时apache启动不了,以下是错误日志 https下php代码无法运行? 如何给PHPstudy 下 网站配置 https,web服务为Apache。证书是申请的阿里云的免费证书。 怎么能把php的服务器端apache配置成https?谢谢您了。 phpstudy配置https访问 php数组如何按条件查询 PHP+MYSQL 怎样按条件查询数据库里表的名称? php 根据条件查询一条数据 还有查询所有的数据怎么弄。。。才学PHP PHP实现按条件查询 数据库内容并在当前页面显示,如下图,谢谢提供下思路 PHP中关于查询多个条件的代码 ThinkPHP如何在一个文本框中可以根据条件查询? php 条件查询 ThinkPHP如何实现多条件分类显示查询啊 php开发数据多条件筛选需要哪些知识基础 条件查询PHP语句, PHP带条件的随机查询 求解:php商品条件筛选功能你是怎么做出来的? 谁知道 php中怎样实现 条件筛选功能 PHP如何以查询的结果为条件一直循环查询下去,直到没有新的结果为止 php 如何查询满足任意两个条件的记录 thinkphp如何按条件查询同表中的多条数据! thinkphp或php按条件选择查询实现思路或实例 用PHP怎么实现伪静态页面+多条件查询 PHP下载限制问题 php 下载文档是否有限制, 超过2000条数据不能下载了。