数据访问......单条件查询与多条件查询
生活随笔
收集整理的這篇文章主要介紹了
数据访问......单条件查询与多条件查询
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. 將數據庫數據訪問封裝成類
<?php class DB {public $host = "localhost"; //服務器地址public $uid = "root"; //用戶名public $pwd = "123"; //密碼//執行SQL語句,返回相應結果的方法//$sql代表要執行的SQL語句,$type代表SQL語句類型;0代表查詢,1代表其他;$db代表要操作的數據庫.function Query($sql,$type=0,$db="mydb") //默認為查詢語句,操作的數據庫為"mydb".{//1.造連接對象$dbconnect = new MySQLi($this->host,$this->uid,$this->pwd,$db);//2.判斷是否出錯!mysqli_connect_error() or die("連接失敗!");//3.執行SQL語句$result = $dbconnect->query($sql);//4.判斷是查詢語句還是其他語句,若是查詢語句則返回二維數組,否則返回true or falseif($type==0){return $result->fetch_all();}else {return $result;}} } 二. 單條件查詢 <?php include("DB.class.php"); $db=new DB(); $cx=""; //先定義變量,方便下面使用 $value=""; if(!empty($_POST["name"])) //判斷傳過來的name值是否為空 {$name=$_POST["name"];$cx=" where Name like '%{$name}%'"; //查詢字符串,注意where前面加空格,否則會出錯$value=$name; } ?> <h1>汽車查詢頁面</h1> <form action="" method="post"> <!--在哪個頁面顯示就提交到哪個頁面,若為空就提交到當前頁面--><div>請輸入名稱:<input type="text" name="name" value="<?php echo $value; ?>" /> <!--點擊查詢后,查詢關鍵字仍顯示,可將value值設為$_post["name"]-->
<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); //只傳一個參數sql,默認$type=0,$db="mydb" foreach($attr as $v) {//處理Name,讓關鍵字特殊顯示,可用替換字符串//$rp="<mark>{$value}</mark>"; //查詢關鍵字加上Mark標簽$rp="<span style='color:red'>{$value}</span>"; //查詢關鍵字加上span標簽,通過span標簽更改樣式$str=str_replace($value,$rp,$v[1]); //將$v[1]中的$value用$rp替換成為新字符串存在變量$str里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> <?phpinclude("DB.class.php");$db=new DB(); $vn=""; //花括號里面的變量必須在外面先定義才能在下面繼續引用,否則會報錯:未定義變量$vb="";$tj1= "1=1"; //條件1的判斷$tj2 = "1=1"; //條件2的判斷if(!empty($_POST["name"])) //判斷: 若傳過來的name不為空 {$tj1=" Name like '%{$_POST['name']}%'"; //注意Name前面的空格$vn=$_POST["name"];}if(!empty($_POST["brand"])) //有幾個條件就判斷幾次 {$tj2=" Brand ='{$_POST['brand']}'"; $vb=$_POST["brand"];}$cx=" where {$tj1} and {$tj2}"; ?> <form action="" method="post"><div>請輸入名稱:<input type="text" name="name" value="<?php echo $vn; ?>" /> 系列: <input type="text" name="brand" value="<?php echo $vb ?>" /> <input type="submit" value="查詢" /></div> </form> <br /> <table width="800" 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); //只傳一個參數sql,默認$type=0,$db="mydb"foreach($attr as $v){//處理Name//$rp="<mark>{$value}</mark>"; //查詢關鍵字加上Mark標簽,突出關鍵字$rp1="<span style='color:red'>{$vn}</span>"; //查詢關鍵字加上span標簽,通過span標簽更改樣式$rp2="<span style='color:green'>{$vb}</span>";$str1=str_replace($vn,$rp1,$v[1]);$str2=str_replace($vb,$rp2,$v[2]);echo "<tr><td>{$v[0]}</td><td>{$str1}</td><td>{$str2}</td><td>{$v[7]}</td><td>{$v[4]}</td><td>{$v[5]}</td></tr>"; }?> </table> ?轉載于:https://www.cnblogs.com/xinghun/p/5483279.html
總結
以上是生活随笔為你收集整理的数据访问......单条件查询与多条件查询的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 常用命令(一)
- 下一篇: div不能控制tr和td的隐藏