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>