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
|
<?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数据访问之查询关键字的更多相关文章
- 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) ...
随机推荐
- rp2833 网卡以及串口与接插件位置关系
P13 eth0 (电口--兼容光口,如果使用光口,请将去掉U31以及P13) p12 eth1 P9 /dev/ttyS3 调试口 P10-1 /dev/ttyS2 r ...
- 二、Linux 静态IP,动态IP配置
Linux 静态IP,动态IP配置 第一步:激活网卡 系统装好后默认的网卡是eth0,用下面的命令将这块网卡激活. # ifconfig eth0 up 第二步:设置网卡进入系统时启动 想要每次开机就 ...
- 嵌入式驱动开发之usb 无线网卡驱动---RT2870STA dm368
RT2870STA 368的无线网卡驱动! http://www.linuxidc.com/Linux/2014-02/96979.htm
- 在linux上开发210的hdmi-servers输出
这段时间一直在研究hdmi-servers,因为友善对这个在是闭源的,所以由于兴趣的关系和工作的关系,决定自己写一个hdmi-servers. 在hdmi中,最关键的是弄清楚了Hdmi显示数据的怎么来 ...
- 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(转)
转载:http://blog.csdn.net/xiaanming/article/details/10163203 了解二维码这个东西还是从微信 中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从 ...
- atitit.javascript调用java in swt attilax 总结
atitit.javascript调用java in swt attilax 总结 1. BrowserFunction 简单介绍1 1.1. BrowserFunction 能够分为三类: 1 1. ...
- 【JavaScript】使用setInterval()函数作简单的轮询操作
轮询(Polling)是一种CPU决策怎样提供周边设备服务的方式,又称"程控输出入"(Programmed I/O). 轮询法的概念是.由CPU定时发出询问.依序询问每个周边设备是 ...
- c++ vector init操作
1) string str[n]={"hello", ...}; vector<string> strArray(str,str+n); 2) vector<st ...
- TMS320F28335项目开发记录3_28335简介
28335特性介绍 高性能静态CMOS技术 高达150MHZ(6.67ns的周期时间):1.9V / 1.8内核 ,3.3V I/O设计 高性能32位CPU IEEE- ...
- Unity利用UI的Mask实现对精灵Sprite的遮挡
例如剔除掉船超出河流的一部分,实现让船只在河流之上显示. 其实是利用UI层的Mask实现遮罩,有些不同的是Mask的图片是用Camera渲染到RenderTexture动态产生的纹理实现的.大概步骤如 ...