zoukankan      html  css  js  c++  java
  • 关键字查询

    一:只有一个文本框输入关键字查询

    输入关键字 : “奥迪”

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <form action="AMlianxi.php" method="post">
    <div>
        名称:
        <input type="text" name="name" />
        <input type="submit" value="查询" />
    
    
    </div>
    </form>
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>名字</td>
        <td>价格</td>
    
    </tr>
    
    <?php
        include("DBDA.php");
        $db= new DBDA();
        
        $str="";
        if(!empty($_POST["name"]))    //判断是不是空
        {
            $name =$_POST["name"];
            if($name !="")            //判断是不是空字符串
            {
                $str =$str." where name like '%{$name}%' ";
                }
            }
        
        
        $sql = "select code,name,price from car".$str;
        
        $attr = $db->Query($sql,$type=1,$db="xinjian");
        
        for($i=0;$i<count($attr);$i++)
        {
            echo "<tr><td>{$attr[$i][0]}</td><td>{$attr[$i][1]}</td><td>{$attr[$i][2]}</td></tr>";
            }
    
    ?>
    
    
    </table>
    </body>
    </html>

    二:两个文本框 输入关键字查询

    注意:可能出现4种情况

        1.第一个条件符合,第二个也符合

        2.第一个条件符合,第二个不符合

        3.第一个条件不符合,第二个符合

        4.第一个条件不符合,第二也不符合

    思路:在第一种方法的sql语句中加where,分别查询两列,重点是两个条件需要用and链接

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <form action="AMlianxi.php" method="post">
    <div>
        名称:
        <input type="text" name="name" />
        价格:
        <input type="text" name="price" />
        <input type="submit" value="查询" />
    
    
    </div>
    </form>
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
        <td>代号</td>
        <td>名字</td>
        <td>价格</td>
    
    </tr>
    
    <?php
        include("DBDA.php");
        $db= new DBDA();
        
        @$name=$_POST["name"];
        @$price=$_POST["price"];  //定义两个变量接收input输入的内容
        
        
        $str=" where";    //先定义一个变量等于where
        
        $tj1 ="";
        $tj2 ="";        //定义两个变量 tj1,tj2
        
        //开始判断第一个条件
        if($name !="")
        {
            $tj1=" name like '%{$name}%'" ;    //如果输入的内容不为空,tj1等于where后面的一半select语句 
            }
        else
        {
            $tj1 = " 1=1";                //如果输入的内容是空,因为有个and,所以随便加一个绝对成立的条件
            }
            
        //判断第二个条件
        if($price !="")
        {
            $tj2 = " price = '{$price}'";    //price这一个列等于输入进来的$price
            }
        else
        {
            $tj2 = " 1=1";
            }
        
        //判断完之后
        $str = $str.$tj1." and".$tj2;//这句话的意思是,假如name没输,是个空的,那么这句话就等于 $str=where 1=1 and price = '{$price}'
                                    //把$str并到下面sql语句中就完整了
        
        $sql = "select code,name,price from car".$str;
        
        $attr = $db->Query($sql,$type=1,$db="xinjian");
        
        for($i=0;$i<count($attr);$i++)
        {
            $mc = str_replace($name,"<span style='color:red'>{$name}</span>",$attr[$i][1]);        //关键字高亮显示
            $mc1 = str_replace($price,"<span style='color:red'>{$price}</span>",$attr[$i][2]);    
            
            echo "<tr><td>{$attr[$i][0]}</td><td>{$mc}</td><td>{$mc1}</td></tr>";        //把$attr[$i][1]换成$mc 
            }
    
    ?>
    
    
    </table>
    </body>
    </html>

    名称输入“奥迪”,查询如下

    名称什么也不输入,价格输入30.00,查询如下

    注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!注意空格!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • 相关阅读:
    VMware虚拟机网络桥接模式下无法与主机ping通解决办法
    (一)编写Bootloader程序应该注意的一些问题
    使用TrueSTUDIO和MDK编译器生成.bin文件
    Linux开发板通过串口与电脑上位机通信
    STM32知识点
    仿真器SWD可不接复位引脚的原因
    ARM内核常用缩写含义
    三大范式(转)
    修改主键示例
    ROW_NUMBER用法详解
  • 原文地址:https://www.cnblogs.com/zhanghaozhe8462/p/5340388.html
Copyright © 2011-2022 走看看