php数据访问之查询关键字
本文根据数据库中的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
|
<?phpclass 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><?phpinclude ("./DBDA.class.php");$db=new DBDA();$cx="";$value="";$value1="";$tj1=" 1=1";//条件1的判断name$tj2=" 1=1";//条件2的判断brandif(!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数据访问之查询关键字的更多相关文章
- ADO.NET 数据访问类查询、属性扩展
今天,我首先在之前所做的人员管理系统的基础上,利用数据访问类进行了所有人员信息的查询. 主程序代码: List<Users> Ulist = new UsersData().Select( ...
- MVC4数据访问EF查询linq语句的时候报错找不到表名问题
一天做项目的时候遇到这样的问题,MVC4用EF访问数据查询用linq语句的时候报错找不到表名:报错如下图: 研究了几种情况,最后还是没有找到正真的问题所在,不过可能是和路由解析问题有关,暂时还没有进行 ...
- MYSQLi数据访问分页查询
<?php //分页工具 直接加载使用 /** file: page.class.php 完美分页类 Page */ class Page { private $total; //数据表中总记录 ...
- php数据访问(查询)
查询:常用关键字查询 和 准确查询 单条件查询 创建添加查询元素 <br /> <form action="main.php" method="post ...
- 一个类GraphQL的ORM数据访问框架发布
Zongsoft.Data 发布公告 很高兴我们的 ORM 数据访问框架(Zongsoft.Data)在历经两个 SaaS 产品的应用之后,今天正式宣布对外推广! 这是一个类 GraphQL 风格的 ...
- 9_13学习完整修改和查询&&实体类,数据访问类
完整修改和查询:中间变量运用. 1.先查 2.执行操作 ---------------------------------------------------- namespace ADO.NET_小 ...
- ADO.NET(完整修改和查询、实体类,数据访问类)
一.完整修改和查询 在编写c#语句时需考虑到用户体验,例如在编写修改语句时,需要考虑到输入的内容在数据库中是否能够找到. 中间变量运用. 1.先查 2.执行操作 完整修改语句: bool has = ...
- 在MyBatis中查询数据、涉及多参数的数据访问操作、插入数据时获取数据自增长的id、关联表查询操作、动态SQL、关于配置MyBatis映射没有代码提示的解决方案
1. 单元测试 在单元测试中,每个测试方法都需要执行相同的前置代码和后置代码,则可以自定义2个方法,分别在这2个方法中执行前置代码和后置代码,并为这2个方法添加@Before和@After注解,然后, ...
- Django Model数据访问Making queries
创建完Model之后, Django 自动为你提供一套数据库抽象层的API,利用它可以完成创建,提取,更新,删除对象的操作. 以下面的Model为例: class Blog(models.Model) ...
随机推荐
- 【WPF】用代码给集合(Collection)容器动态添加子元素(Item)
需求:如何向 TabControl 中添加选项卡项. 问题:做的TabControl分页栏想要通过代码来控制添加的子元素.同理可以将解决思路拓展到用于其他的集合控件添加子元素的问题. 在布局文件She ...
- Winform DatagridviewcomboboxColumn Disable Style
DataGridViewComboBoxCell cell =(DataGridViewComboBoxCell)dataGridView1[e.ColumnIndex, e.RowIndex]; c ...
- ExtJs Ext.form.field.TextArea+Ckeditor 扩展富文本编辑器
Ext.define("MyApp.base.BaseTextArea", { extend: "Ext.form.field.TextArea", xtype ...
- hdu2896 病毒侵袭 AC自动机入门题 N(N <= 500)个长度不大于200的模式串(保证所有的模式串都不相同), M(M <= 1000)个长度不大于10000的待匹配串,问待匹配串中有哪几个模式串,
/** 题目:hdu2896 病毒侵袭 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2896 题意:N(N <= 500)个长度不大于200的模式串 ...
- Spring 中三种Bean配置方式比较
今天被问到Spring中Bean的配置方式,很尴尬,只想到了基于XML的配置方式,其他的一时想不起来了,看来Spring的内容还没有完全梳理清楚,见到一篇不错的文章,就先转过来了. 以前Java框架基 ...
- 简单又好用的聊天室技术——WebSocket
现在,很多网站为了实现推送技术,所用的技术都是轮询.轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发出HTTP request,然后由服务器返回最新的数据给客户端的浏览器.这种传统的模式带来很 ...
- MySQL 性能优化的最佳 20+ 条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显.关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情.当我们去设计数据库表结构,对操作数 ...
- 关于Unity中的Input输入事件
截获鼠标,键盘的消息 监听事件我们都是在Update里面监听的. Unity的虚拟轴打开:Edit-->Project Settings-->Input,打开的各个Name就是双引号里面要 ...
- python中的高阶函数
高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数abs()为例,调用该函数用以下 ...
- netsnmp编译动态库
.编译动态库 将写完的snmp代理程序编译生成动态库 gcc -c -fpic telnetConfig.c -o telnetConfig.o -I/usr/local/net-snmp/inclu ...