PHP,单项查询及多项查询
先封装对象
class DBDA
{
public $host = "localhost"; //数据库地址
public $uid = "root"; //数据库用户名
public $pwd = "123"; //数据库密码 //执行SQL语句,返回相应的结果的方法
//参数:$sql代表要执行的SQL语句,$type是SQL语句类型0代表查询1代表其他,$db代表要操作的数据库
public function Query($sql,$type=0,$db="mydb")
{
//1.造连接对象
$dbconnect = new MySQLi($this->host,$this->uid,$this->pwd,$db);
//2.判断连接是否出错
!mysqli_connect_error() or die("连接失败!");
//3.执行SQL语句
$result = $dbconnect->query($sql); if($type==0)
{
return $result->fetch_all();
}
else
{
return $result;
}
}
}
单项查询页面
<h1>汽车查询页面</h1>
<br />
<?php
include("./DBDA.class.php");
$db = new DBDA(); $cx="";
$value="";
if(!empty($_POST["name"]))
{
$name = $_POST["name"];
$cx = " where Name like '%{$name}%'";//查询字符串
$value = $name;
}
?>
<form action="test.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 = "<span style='color:red'>{$value}</span>";
$str = str_replace($value,$rp,$v[1]);
echo "<tr>
<td>{$v[0]}</td>
<td>{$str}</td>
<td>{$v[7]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
</tr>";
} ?>
</table>
多项查询页面
<h1>汽车查询页面</h1>
<br />
<?php
include("./DBDA.class.php");
$db = new DBDA(); $cx="";
$value=""; $tj1 = " 1=1"; //条件1的判断
$tj2 = " 1=1"; //条件2的判断 if(!empty($_POST["name"]))
{
$tj1 = " Name like '%{$_POST['name']}%'";
}
if(!empty($_POST["brand"]))
{
$tj2 = " Brand = '{$_POST['brand']}'";
} $cx = " where {$tj1} and {$tj2} ";
?>
<form action="test.php" method="post">
<div>
请输入名称:<input type="text" name="name" value="<?php echo $value; ?>" />
系列:<input type="text" name="brand" />
<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>
<td>功率</td>
</tr> <?php $sql = "select * from Car".$cx;
$attr = $db->Query($sql);
echo $sql; foreach($attr as $v)
{
//处理Name
$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>
PHP,单项查询及多项查询的更多相关文章
- TFS API : 四、工作项查询
TFS API : 四.工作项查询 本节将讲述如何查询工作项,将用户统计数据. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] f ...
- TFS二次开发系列:五、工作项查询
本节将讲述如何查询工作项,用于二次开发中定义获取工作项列表. 使用WorkItemStore.Query方法进行查询工作项,其使用的语法和SQL语法类似: Select [标题] from worki ...
- SQL查询(医疗项目的SQL复习)
内容来自于
- 【T-SQL基础】01.单表查询-几道sql查询题
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...
- 聚合查询、分组查询、F&Q查询
一.聚合查询和分组查询 1.aggregate(*args, **kwargs): 通过对QuerySet进行计算,返回一个聚合值的字典.aggregate()中每个参数都指定一个包含在字典中的返回值 ...
- MySQL之多表查询练习 与基本查询基础
MySQL 增删查改 一.增:有2种方法 1.使用insert插入单行数据: 语法:insert [into]<表名> [列名] values <列值> 例:insert i ...
- MySQL连接查询(多表查询)
基本含义 连接就是指两个或两个以上的表(数据源) “连接起来成为一个数据源”. 连接语法的基本形式:from 表1 [连接方式] join 表2 [on 连接条件]; 连接的结果可以当做一个“表”来使 ...
- Oracle子查询之高级子查询
Oracle 高级子查询 高级子查询相对于简单子查询来说,返回的数据行不再是一列,而是多列数据. 1,多列子查询 主查询与子查询返回的多个列进行比较 查询与141号或174号员工的manager_id ...
随机推荐
- android listview和button,ImageButton等有事件的控件的总结
public ImageButton(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defSty ...
- 刷机总结(阿里云os-->android4.2.2)注明:本文不是教程
注明:本文不是教程 写这篇文章的目的:让准备刷机的人(无论你是小白还是老鸟,当然老鸟就不用看了)用最短的时间了解刷机过程 其实本来目的是准备将阿里云的2.3.7升级到3.0的,但是3.0没有针对基伍大 ...
- 【CentOS】Eclipse中svn插件使用
目录: 1.安装 2.使用 3.错误 1.安装 svn插件地址: Subclipse 1.6.x Update Site - http://subclipse.tigris.org/update_1. ...
- Javascript动态生成表格的性能调优
vision 0.8 [耗时672ms]终极优化 将字符串作为数组对象的方式是目前效率最高,性能最优的方式. <script> var t1 = new Date(); < ...
- [剑指OFFER] 数组中的逆序对
题目描述 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对.输入一个数组,求出这个数组中的逆序对的总数. 分析:利用归并排序的思想,分成2部分,每一部分按照从大到 ...
- tcpkill清除异常tcp连接
tcpkill清除异常tcp连接 在linux系统中,遇到TCP链接迟迟不能释放的情况,类似FIN_WAIT1.FIN_WAIT2的状态,释放时间不确定,而且对应的程序已经关闭,相应的端口也不再监听, ...
- 利用MariaDB Galera Cluster实现mariadb的多主复制
一.MariaDB Galera Cluster概要: .简述: MariaDB Galera Cluster 是一套在mysql innodb存储引擎上面实现multi-master及数据实时同步的 ...
- HDU 1421 搬寝室
搬寝室 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- 定时每天执行前一天的数据导入oracle
#!/bin/bash export LANG="en_US.UTF-8" #设定时间变量,为前一天时间 log_date=`date +%Y-%m-%d -d "-1 ...
- Mybatis批量插入oracle,mysql
oracle <insert id="addUserData" parameterType="java.util.List"> INSERT IN ...