php数据访问之查询关键字

 更新时间:2016年05月09日 11:51:33   转载 作者:陌上初薰  
本文根据数据库中的car表做一个汽车查询页面,巩固php查询关键字操作,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了php查询操作的实现代码,供大家参考,具体内容如下

一、一个关键字查询

主页面:

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

运行结果:

二、多个关键字查询

主页面:

<html>
<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>

运行结果:

以上就是本文的全部内容,希望对大家学习php程序设计有所帮助。

相关文章

  • PHP自动重命名文件实现方法

    PHP自动重命名文件实现方法

    这篇文章主要介绍了PHP自动重命名文件实现方法,可实现类似Windows命名一样的自动流水编号命名,是非常实用的技巧,需要的朋友可以参考下
    2014-11-11
  • php使用变量动态创建类的对象用法示例

    php使用变量动态创建类的对象用法示例

    这篇文章主要介绍了php使用变量动态创建类的对象,涉及php面向对象程序设计中对象的动态创建相关操作技巧,需要的朋友可以参考下
    2017-02-02
  • php 多继承的几种常见实现方法示例

    php 多继承的几种常见实现方法示例

    这篇文章主要介绍了php 多继承的几种常见实现方法,结合实例形式分析了两种PHP实现多继承的操作方法,需要的朋友可以参考下
    2019-11-11
  • 基于PHPexecl类生成复杂的报表表头示例

    基于PHPexecl类生成复杂的报表表头示例

    这篇文章主要介绍了基于PHPexecl类生成复杂的报表表头功能,结合实例形式分析了实例化PHPexecl类生成复杂报表表头的具体步骤与相关操作技巧,需要的朋友可以参考下
    2016-10-10
  • php set_time_limit(0) 设置程序执行时间的函数

    php set_time_limit(0) 设置程序执行时间的函数

    一个简单的例子,在网页里显示1500条语句,如果未设置失效时间,则程序执行到791时结束了,如果把 set_time_limit(0); 前的注释符//去除,则程序直到1才结束。
    2010-05-05
  • php让json_encode不自动转义斜杠“/”的方法

    php让json_encode不自动转义斜杠“/”的方法

    在本篇文章里小编给大家分享的是关于php让json_encode不自动转义斜杠“/”的方法,需要的朋友们可以学习下。
    2020-04-04
  • PHP程序员不应该忽略的3点

    PHP程序员不应该忽略的3点

    这篇文章主要介绍了PHP程序员不应该忽略的3点,变量、数组的应用技巧;正则表达式;模板,需要的朋友可以参考下
    2015-10-10
  • php程序内部post数据的方法

    php程序内部post数据的方法

    这篇文章主要介绍了php程序内部post数据的方法,涉及curl的使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • PHP base64编码后解码乱码的解决办法

    PHP base64编码后解码乱码的解决办法

    这篇文章主要介绍了PHP base64编码后解码乱码的解决办法,导致乱码的原因就是base64编码后包含一些特殊字符,替换一下就可以了,需要的朋友可以参考下
    2014-06-06
  • PHP资源管理框架Assetic简介

    PHP资源管理框架Assetic简介

    Assetic 是一个 PHP 的资源管理框架,用于合并和压缩 CSS/JS 资源。可以减少浏览器对资源的请求数、降低资源下载大小、加速站点运行速度。需要的朋友可以参考下
    2014-06-06

最新评论