zoukankan      html  css  js  c++  java
  • php 之 数据访问 查询关键字 (0506)

    根据数据库中的car表做一个汽车查询页面:

     一、一个关键字查询:

    主页面:

    <!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>
    <h1>汽车查询页面</h1>
    <?php
      include("QiChe.class.php");
      $db=new QiChe();
      //保留输入查询的内容
      $cx="";
      $value="";
      if(!empty($_POST["name"]))//判断查询内容是否为空
      {
    	$name=$_POST["name"];
    	$cx=" where name like '%{$name}%'";//查询的字符串
    	$value=$name;
      }
    ?>
    
    <br>
    <form action="QiChe.php" method="post">
    <div>
    请输入查询内容:<input type="text" name="name" value="<?php echo $value; ?>"/> 
    <input type="submit" value="查询"/>
    </div>
    </form>
    <br />
    
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
    <td>代号</td>
    <td>汽车名称</td>
    <td>油耗</td>
    <td>功率</td>
    <td>价格</td>
    </tr>
    
    <?php
      $sql="select * from Car".$cx;
      $attr=$db->query($sql);
      foreach ($attr as $v)
      {
    	//使输入查询的关键字变色,处理name
    	//$rp="<mark>{$value}</mark>";
    	$rp="<span style='color:red'>{$value}</span>";
    	$arr=str_replace($value,$rp,$v[1]);
    	
    	echo "<tr>
    	<td>{$v[0]}</td>
    	<td>{$arr}</td>
    	<td>{$v[4]}</td>
    	<td>{$v[5]}</td>
    	<td>{$v[7]}</td>		
    	</tr>";
      }
    ?>
    
    </table>
    </body>
    </html>
    

     封装类: 

    <?php
    class QiChe
    {
    	public $localhost="localhost";//服务器
    	public $uid="root";//用户名
    	public $password="";//密码
    	//执行查询语句sql方法:
    	//参数的含义:$sql代表要执行的sql语句;$type代表sql语句的类型,自义0为查询,1为其他(增删改查);$db代表要查询的数据库
    	public function Query($sql,$type="0",$db="mydb")
    	{
    		$dbconnect=new MySQLi($this->localhost,$this->uid,$this->password,$db);
    		!mysqli_connect_error() or die("连接失败 !");
    		$result=$dbconnect->query($sql);
    		
    		if($type==0)
    		{
    			return $result->fetch_all();
    		}
    		else
    		{
    			return $result;
    		}
    	}	
    }
    

      运行结果:

    二、多个关键字查询:

    主页面:

    <!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>
    <h1>汽车查询页面</h1>
    <br>
    <?php
    include ("./DBDA.class.php");
    $db=new DBDA();
    $cx="";
    $value="";
    $value1="";
    $tj1=" 1=1";//条件1的判断name
    $tj2=" 1=1";//条件2的判断brand
    if(!empty($_POST["name"]))
    {
    	$name=$_POST["name"];
    	$tj1="name like '%{$_POST['name']}%'";	
    	$value=$name;
    	
    }
    if(!empty($_POST["brand"]))
    {
    	$name1=$_POST["brand"];
    	$tj2="brand= '{$_POST['brand']}'";	
    	$value1=$name1;
    }
    $cx=" where $tj1 and $tj2";//查询字符串
    ?>
    
    <form action="ChaXun1.php" method="post">
    <div>
    请输入名称:<input type="text" name="name"  value="<?php echo $value; ?>"/>  
    系列:<input type="text" name="brand" value="<?php echo $value1; ?>">
    <input type="submit" name="" value="查询">
    
    </div>
    </form>
    <br>
    
    <table width="100%" border="1" cellpadding="0" cellspacing="0">
    <tr>
    <td>代号</td>
    <td>汽车名称</td>
    <td>系列</td>
    <td>价格</td>
    <td>油耗</td>
    <td>功率</td>
    </tr>
    
    <?php
    $sql="select * from Car".$cx;
    $attr=$db->Query($sql);
    foreach ($attr as $v)
    {
    	
    	//处理name
    	//$rp="<mark>{$value}</mark>";
    	$rp="<span style='color:red'>{$value}</span>";
    	$str=str_replace($value,$rp,$v[1]);	
    	echo "<tr>
    	<td>{$v[0]}</td>
    	<td>{$str}</td>
    	<td>{$v[2]}</td>
    	<td>{$v[7]}</td>
    	<td>{$v[4]}</td>
    	<td>{$v[5]}</td>	
    	</tr>";
    	}
    ?>
    </table>
    
    </body>
    </html>
    

      运行结果:

  • 相关阅读:
    Java数据结构之栈(Stack)
    Java数据结构之单向环形链表(解决Josephu约瑟夫环问题)
    Java数据结构之双向链表
    zookeeper:JavaApi操作节点
    zookeeper:3
    单例模式
    zookeeper:2
    架构版本
    zookeeper:1
    Java反射
  • 原文地址:https://www.cnblogs.com/ds-3579/p/5465227.html
Copyright © 2011-2022 走看看