zoukankan      html  css  js  c++  java
  • 查询(关键字查询,多条件查询)

    一、关键字查询

    (1)查询一张表,要把表先列出来,显示出查询的表

     1 <table width="100%" border="1" cellpadding="0" cellspacing="0">
     2 <tr>
     3     <td>代号</td>
     4     <td>名称</td>
     5     <td>系列</td>
     6     <td>上市时间</td>
     7     <td>价格</td>
     8 </tr>
     9 <?php
    10 require("../0428/DBDA.class.php");
    11 $db = new DBDA();
    12 $sql = "select * from car";
    13 $name="";
    14 if(!empty($_POST["name"]))
    15 {
    16     $name = $_POST["name"];
    17     $sql = "select * from car where name like '%{$name}%' ";
    18 }
    19 
    20 
    21 $arr = $db->query($sql);
    22 
    23 
    24 foreach($arr as $v)
    25 {
    26     
    27     echo "<tr>
    28     <td>{$v[0]}</td>
    29     <td>{$v[1]}</td>
    30     <td>{$v[2]}</td>
    31     <td>{$v[3]}</td>
    32     <td>{$v[7]}</td>
    33 </tr>";
    34 }
    35 
    36 ?>
    37 </table>

    (2)表显示出来后,查询要有输入框和查询按钮

    1 <form action="chaxun.php" method="post">
    2 <div>名称:<input type="text" name="name"  /> <input type="submit" value="查询" /></div>
    3 </form>//这是很具名称查询

    (3)重要的是怎么建立关键字查询:

    利用模糊查询来查看,模糊查询的关键字就是like(还有就是输入的关键字要特殊显示可以在遍历表中进行)

     1 <?php
     2 require("../0428/DBDA.class.php");
     3 $db = new DBDA();
     4 $sql = "select * from car";
     5 $name="";
     6 if(!empty($_POST["name"]))
     7 {
     8     $name = $_POST["name"];
     9     $sql = "select * from car where name like '%{$name}%' ";
    10 }
    11 
    12 
    13 $arr = $db->query($sql);
    14 
    15 
    16 foreach($arr as $v)
    17 {
    18     
    19     echo "<tr>
    20     <td>{$v[0]}</td>
    21     <td>{$v[1]}</td>
    22     <td>{$v[2]}</td>
    23     <td>{$v[3]}</td>
    24     <td>{$v[7]}</td>
    25 </tr>";
    26 }
    27 
    28 ?>

    (4)还有就是输入框输入关键字查询后,输入框中的字应该还是显示的

    这样就在文本框中的value值前嵌入php语言,输出$name,这个其实就和设置默认值的方法一样

    1 <div>名称:<input type="text" name="name" value="<?php echo $name ?>" /> 

    二、多条件查询

    其他的和查询一样,就不详细写了

     1 <?php
     2 require("DBDA.class.php");//这个地方我用的是封装类
     3 $db = new DBDA();
     4 
     5 //1.如果没有提交数据,显示所有
     6 //2.如果有提交数据,根据关键字查询显示
     7 $name="";
     8 $tj1 = " 1=1 "; //第一个条件,对应名称
     9 $tj2 = " 1=1 "; //第二个条件,对应系列
    10 if(!empty($_POST["name"]))
    11 {
    12     $name = $_POST["name"];
    13     $tj1 = " name like '%{$name}%' ";
    14 }
    15 if(!empty($_POST["brand"]))
    16 {
    17     $brand = $_POST["brand"];
    18     $tj2 = " brand = '{$brand}' ";
    19 }
    20 //总条件
    21 $tj = " {$tj1} and {$tj2}";
    22 
    23 $sql = "select * from car where ".$tj;
    24 echo $sql;
    25 ?>

     注:有几个条件就做几个条件变量,第一个条件不为空就执行的第一个if,第二个条件不为空执行的第二个if,两个都为空就是差所有的。

  • 相关阅读:
    java 自定义表单 动态表单 表单设计器 工作流引擎 flowable 设计方案
    设置Springboot返回jackson数据序列化
    SpringCloud Alibaba 报 AbstractMethodError 是版本兼容问题导致
    Springboot进阶JDBC、Druid、Mybatis、Swagger、SpringMVC、Mail
    java 自定义表单 动态表单 表单设计器 工作流引擎 flowable 项目源码
    springcloud Alibaba 微服务 flowable 工作流 自定义表单 vue.js前后分离
    ClassLoader读取文件,springboot打jar包后读取不到
    Nginx/Tomcat/Apache的优缺点和区别
    Swagger3 相比2配置变了
    webloginc配置项目根目录
  • 原文地址:https://www.cnblogs.com/douchenchen/p/6795611.html
Copyright © 2011-2022 走看看