您的位置:首页 > 编程语言 > PHP开发

php中的多条件查询

2016-06-16 23:04 417 查看
首先是查询所有,步骤不详述,连接数据库,查询表中的所有信息,foreach循环以表格的形式打印出来

然后就是form表单中提交查询的数据,这里以post方式提交到本页面,所以要判断post中是否有值,在判断post中的值是否为空字符串(这两种情况都默认用户没有输入,查询所有)默认规则:一般来说做查询的时候:用户不输入任何内容就是查询所有的

然后最重要的是拼接查询条件

关键代码:

$tj1 = " 1=1";
$tj2 = " 1=1";
$name = "";

if(!empty($_POST)){
if($_POST["name"] != ""){
$name = $_POST["name"];
$tj1 = " name like '%{$name}%'";
}
if($_POST["brand"] != ""){
$tj2 = " brand = '{$_POST['brand']}'";
}
}
$tj = " where ".$tj1." and ".$tj2;
$sql = "select * from car ".$tj;

[b]完整实例:[/b]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<h1>查询系统</h1>
<Form action="danchaxun.php" method="post">
请输入汽车名称:
<input type="text" name = "name" />
请输入汽车系列:
<input type="text" name = "brand" />
<input type="submit" value="查询" />
</Form>

<table width="100%" border="1" cellpadding="0" cellspacing="0">
<tr>
<td>代号</td>
<td>名字</td>
<td>系列</td>
<td>出厂时间</td>
<td>油耗</td>
<td>功率</td>
</tr>

<?php
include ("DBDA.class.php");

$db = new DBDA();

$tj1 = " 1=1";
$tj2 = " 1=1";
$name = "";

if(!empty($_POST)){
if($_POST["name"] != ""){
$name = $_POST["name"];
$tj1 = " name like '%{$name}%'";
}
if($_POST["brand"] != ""){

$tj2 = " brand = '{$_POST['brand']}'";
}
}
$tj = " where ".$tj1." and ".$tj2;

$sql = "select * from car ".$tj;

$attr = $db->Query($sql);

foreach($attr as $v){
echo "
<tr>
<td>{$v[0]}</td>
<td>{$v[1]}</td>
<td>{$v[2]}</td>
<td>{$v[3]}</td>
<td>{$v[4]}</td>
<td>{$v[5]}</td>
</tr>
";
}
?>
</table>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: