php数据库条件查询

Posted 梦深深处

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>";    
}
?>

最终结果:

二、多条件查询:

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>";
}

?>

最终结果为:

 

以上是关于php数据库条件查询的主要内容,如果未能解决你的问题,请参考以下文章

如何跳过查询条件片段中的空对象?

GraphQL 查询,根据某些条件使用片段。已加载 GraphQL 文件

PHP项目开发经验整理

php中的多条件查询

php中的多条件查询

PHP Wordpress查询从帖子/页面中提取片段