模糊查询,多条件查询
1.一个条件的模糊查询
<body>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" /><!--输入查询的关键字-->
<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
1 //先判断有没有提交值
2 $xm="";
3 if(!empty($_POST["xm"]))//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
4 {
5 $xm = $_POST["xm"];//把输入的值取出来
6 }
7 $tj = "";//定义一个变量条件(tj)
8 if($xm == "")//如果值为空
9 {
10 $tj = " 1=1 ";//如果值为空,就给条件赋一个恒成立的1=1.根据这个条件能查询出所有的数据。
11 }
12 else
13 {
14 $tj = " name like '%{$xm}%' ";//如果值不为空,就给$tj赋上输入输入的值。
15 }
上面带行号的代码可以简化为下面的带行号的
1 $xm="";
2 if(!empty($_POST["xm"]))//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
3 {
4 $xm = $_POST["xm"];//把输入的值取出来
5 }
6 $tj = " 1=1 ";//让$tj值默认1=1,
7 if($xm != "")
8 {
9 $tj = " name like '%{$xm}%' ";//如果值不为空,就给$tj赋上输入输入的值。
10 }
或者更加简化
1 $tj = " 1=1 ";
2 if(!empty($_POST["xm"]) && $_POST["xm"]!="")//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
3 {
4 $tj = " name like '%{$_POST['xm']}%' ";
5 }
$db = new MySQLi("localhost","root","666","text1");
$sql = "select * from info where ".$tj;//把条件拼在查询语句后面,并加上where。
$result = $db->query($sql);
$attr = $result->fetch_all();
foreach($attr as $v)
{
echo"<tr>";
$sex = $v[2]?"男":"女";
$name = NationName($v[3]);
echo"<td>{$v[0]}</td><td>{$v[1]}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
}
function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
下面让查询到的关键字变颜色,用<mark>标签
<body>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" /><!--输入查询的关键字-->
<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
//先判断有没有提交值
$xxm = "";//定义要关键字变量
$tj = " 1=1 ";
if(!empty($_POST["xm"]) && $_POST["xm"]!="")//没有值就说明是第一次加载这个页面,没有输入查询条件,点击查询就是查询所有的。有值就按照输入的值查询。
{
$xxm = $_POST['xm'];//提取关键字
$tj = " name like '%{$_POST['xm']}%' ";
}
$db = new MySQLi("localhost","root","666","text1");
$sql = "select * from info where ".$tj;//把条件拼在查询语句后面,并加上where。
$result = $db->query($sql);
$attr = $result->fetch_all();
foreach($attr as $v)
{
echo"<tr>";
$sex = $v[2]?"男":"女";
$name = NationName($v[3]);
$newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字,用$newname替换原来的$v[2]
echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
}
function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
2.两个条件查询,模糊查询加关键字查询。
<body>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" /><!--输入查询的关键字-->
民族代号:
<input type="text" name="mz" />
<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
//先判断有没有提交值
$xxm = "";
$tj = " 1=1 ";
$tj2 = " 1=1 ";//再做一个条件
if(!empty($_POST["xm"]) && $_POST["xm"]!="")//这个条件是判断xm的,判断模糊查询。
{
$xxm = $_POST['xm'];
$tj = " name like '%{$_POST['xm']}%' ";
}
if(!empty($_POST["mz"]) && $_POST["mz"]!="")//再做一个条件判断另一个条件
{
$mz = $_POST['mz'];//取民族的代号
$tj2 = " nation = '{$_POST['mz']}' ";
}
$db = new MySQLi("localhost","root","666","text1");
$sql = "select * from info where ".$tj." and ".$tj2;
$result = $db->query($sql);
$attr = $result->fetch_all();
foreach($attr as $v)
{
echo"<tr>";
$sex = $v[2]?"男":"女";
$name = NationName($v[3]);
$newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字
echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
/*foreach($v as $v1)
{
echo "<td>{$v1}</td>";
}*/
echo"</tr>";
}
function NationName($code)
{
$db = new MySQLi("localhost","root","666","text1");
$sql = "select name from nation where code = '{$code}'";
$result = $db->query($sql);
$attr = $result->fetch_row();
return $attr[0];
}
?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>
查询后模糊查询的关键字依然存在
<body>
1 <?php
2 //先判断有没有提交值
3 $xxm = "";
4 $tj = " 1=1 ";
5 $tj2 = " 1=1 ";//再做一个条件
6 if(!empty($_POST["xm"]) && $_POST["xm"]!="")//这个条件是判断xm的,判断模糊查询。
7 {
8 $xxm = $_POST['xm'];
9 $tj = " name like '%{$_POST['xm']}%' ";
10 }
11
12 if(!empty($_POST["mz"]) && $_POST["mz"]!="")//再做一个条件判断另一个条件
13 {
14 $mz = $_POST['mz'];//取民族的代号
15 $tj2 = " nation = '{$_POST['mz']}' ";
16 }
17 ?>
<br />
<form action="main.php" method="post"><!--点击查询时会将用户输入的值传递到本页面-->
<div>姓名:
<input type="text" name="xm" value="<?php echo $xxm ?>" /><!--输入查询的关键字-->
民族代号:
<input type="text" name="mz" />
<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>
1 <?php
2
3 $db = new MySQLi("localhost","root","666","text1");
4
5 $sql = "select * from info where ".$tj." and ".$tj2;
6
7 $result = $db->query($sql);
8
9 $attr = $result->fetch_all();
10
11 foreach($attr as $v)
12 {
13 echo"<tr>";
14
15 $sex = $v[2]?"男":"女";
16
17 $name = NationName($v[3]);
18
19 $newname = str_replace($xxm,"<mark>{$xxm}</mark>",$v[1]);//替换关键字
20
21 echo"<td>{$v[0]}</td><td>{$newname}</td><td>{$sex}</td><td>{$name}</td><td>{$v[4]}</td><td><a href='shanchu.php?c={$v[0]}' onclick=\"return confirm('确定删除吗?')\">删除</a><a href='xiugai.php?c={$v[0]}'>修改</a></td";
22 /*foreach($v as $v1)
23 {
24 echo "<td>{$v1}</td>";
25 }*/
26 echo"</tr>";
27 }
28
29 function NationName($code)
30 {
31 $db = new MySQLi("localhost","root","666","text1");
32 $sql = "select name from nation where code = '{$code}'";
33 $result = $db->query($sql);
34 $attr = $result->fetch_row();
35 return $attr[0];
36 }
37 ?>
</table>
<a href="add.php"><input type="button" value="添加数据" /></a>
</body>