本文根据数据库中的car表做一个汽车查询页面,巩固php查询关键字操作,感兴趣的小伙伴们可以参考一下

 

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

一、一个关键字查询

主页面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
<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>

封装类: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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;
    }
  }
}

运行结果:

二、多个关键字查询

主页面:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<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数据访问之查询关键字的更多相关文章

  1. ADO.NET 数据访问类查询、属性扩展

    今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...

  2. MVC4数据访问EF查询linq语句的时候报错找不到表名问题

    一天做项目的时候遇到这样的问题,MVC4用EF访问数据查询用linq语句的时候报错找不到表名:报错如下图: 研究了几种情况,最后还是没有找到正真的问题所在,不过可能是和路由解析问题有关,暂时还没有进行 ...

  3. MYSQLi数据访问分页查询

    <?php //分页工具 直接加载使用 /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录 ...

  4. php数据访问(查询)

    查询:常用关键字查询 和 准确查询 单条件查询 创建添加查询元素 <br /> <form action="main.php" method="post ...

  5. 一个类GraphQL的ORM数据访问框架发布

    Zongsoft.Data 发布公告 很高兴我们的 ORM 数据访问框架(Zongsoft.Data)在历经两个 SaaS 产品的应用之后,今天正式宣布对外推广! 这是一个类 GraphQL 风格的  ...

  6. 9_13学习完整修改和查询&&实体类,数据访问类

    完整修改和查询:中间变量运用. 1.先查 2.执行操作 ---------------------------------------------------- namespace ADO.NET_小 ...

  7. ADO.NET(完整修改和查询、实体类,数据访问类)

    一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...

  8. 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案

    1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...

  9. Django Model数据访问Making queries

    创建完Model之后, Django 自动为你提供一套数据库抽象层的API,利用它可以完成创建,提取,更新,删除对象的操作. 以下面的Model为例: class Blog(models.Model) ...

随机推荐

  1. 【动软.Net代码生成器】连接MySQL生成C#的POCO实体类(Model)

    首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/h ...

  2. C语言 · Huffuman树

    基础练习 Huffuman树   时间限制:1.0s   内存限制:512.0MB        问题描述 Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出 ...

  3. C语言 · 数字三角形

    算法训练 数字三角形   时间限制:1.0s   内存限制:256.0MB      问题描述 (图3.1-1)示出了一个数字三角形. 请编一个程序计算从顶至底的某处的一条路 径,使该路径所经过的数字 ...

  4. HTML——动画效果:图片循环横向播放

    一.html <!DOCTYPE HTML> <html> <head> <title>Home</title> <link href ...

  5. Hibernate-【查询】

    01.HQL查询方式 02.QBC查询方式 02.原始SQL查询方式

  6. mongodb可以通过profile来监控数据 (mongodb性能优化)

    mongodb可以通过profile来监控数据 (mongodb性能优化)   开启 Profiling  功能 ,对慢查询进行优化: mongodb可以通过profile来监控数据,进行优化. 查看 ...

  7. javac编译成功,用java运行class文件出现“找不到或无法加载主类” 的问题

    1.pack后为包名,包与系统文件夹一一对应.并且代码中的包名不包含文件包的名字,即文件名 2.javac 按照*.java 文件的所在路径进行编译,编译完成后,使用java +完整包名(包含文件包名 ...

  8. bcm56150_i2c驱动分析

    本文主要关注bsp中,关于smbus(系统管理总线,是i2c的子集)的配置过程,了解如如何配置i2c寄存器.所有发送的数据都会写在FIFO中,使能之后就发送出去.接收数据就从接收寄存器中读取.读取和发 ...

  9. C++中函数的返回值

    原文 [ 函数的返回值用于初始化在调用函数处创建的临时对象.在求解表达式时,如果需要一个地方储存其运算结果,编译器会创建一个没有命名的对象,这就是 临时对象.temporary object ] -- ...

  10. 关掉firefox(火狐)和palemoon地址栏自动加www.前缀功能【转】

    常用palemoon调试网站域名,它会很“贴心”的给你输入的网址前加上www.前缀,可有些域名前并没有www前缀,这样就导致了无法打开网站,今天学习下关闭它的这个功能. 打开firefox,在地址栏输 ...