本文目錄一覽:
- 1、PHP中關於查詢多個條件的代碼
- 2、想用PHP做個查詢頁面,接收用戶輸入信息,然後查詢數據庫中對應信息,並輸出出來,本人很菜,希望大家幫忙
- 3、如何在PHP頁面實現指定條件的查詢
- 4、php 根據條件查詢一條數據 還有查詢所有的數據怎麼弄。。。才學PHP
PHP中關於查詢多個條件的代碼
先向大家說明需求:按照系統的要求,將通過部門名稱、員工姓名、PC名稱、IP地址等等字段來進行組合查詢從而得到想要的數據結果。那麼,為了簡單起見,我們用兩個條件(部門名稱、員工姓名)的組合查詢來向大家說明這一技術技巧。當只輸入部門名而員工姓名為空值時,那麼部門內所有員工信息將被呈現,只有當同時限制部門與員工姓名時,才能查詢出唯一信息。
那就讓我們開始。
首先建立查詢頁面search.php,不同於上次單一條件查詢,這次需要兩個條件的組合進行查詢。
html
body
h3查詢/h3
form action=”search_result.php” method=”POST”
部門名稱:input type=”text” size=25 name=”depart” value=”” brbr
員工姓名: input type=”text” size=25 name=”ename” value=”” brbr
input type=”submit” name=”提交” value=”提交”
/form
/body
/html
和上次一樣,我們將depart與ename的值通過Post的方法傳遞給search_result.php文件。
然後便到了這次主題的關鍵,search_result.php文件如何接受這兩個參數值,並判斷當其中一個字段為空值時,如何將其排除查詢條件。
怎麼理解上面這句話,舉例子來說,如果我們單純地將接收參數的查詢語句寫成 select * from info where depart=’部門值參數’ and ename=’員工姓名參數’ 的話,那麼如果其中一個參數為空時我們就將得到 select * from info where depart=’技術部’ and ename=” ,顯然,這樣的查詢很有可能返回空的結果,因為這句查詢語句的意思就是,查詢所有技術部沒有姓名的人的數據,這不是很荒唐么,倒過來如果是 select * from info where depart=” and ename=’sunec’ ,那麼它的意思就是查詢員工姓名為sunec但是不屬於任何部門的人,那自然也是查詢不到結果的。
正確的做法應該是,在查詢語句中過濾掉那個為空值的的參數。比如,當輸入部門名時應該得到 select * from info where depart=’技術部’ 。這樣,查詢語句的意思就變成查詢所有部門為技術部員工的信息了,這就是了。
?php
$link =mysql_connect(“localhost”,”root”,”管理員密碼”);
mysql_select_db(“infosystem”, $link);
?
?php
//注釋1—————————–
$depart=$_POST[“depart”];
$ename=$_POST[“ename”];
//注釋2————————
if($depart != null){
$a = ” and depart like ‘%$depart%'”;}
if($ename != null){
$b = ” and ename like ‘%$ename%'”;}
//注釋3——–
$q = “SELECT * FROM info where (1=1)”;
$q .=$a;
$q .=$b;
//注釋4—————-
mysql_query(“SET NAMES GB2312”);
$rs = mysql_query($q, $link);
echo “table”;
echo “trtd部門/tdtd員工姓名/td/tr”;
while($row = mysql_fetch_object($rs)) echo “trtd$row-depart/tdtd$row-ename/td/tr”;
echo “/table”;
mysql_close($link);
?
注釋1:接收search.php通過post傳遞出的參數,把兩個參數分別存儲入變量:depart和ename。
注釋2:判斷參數是否為空,如果為空,不作任何操作。如果有參數傳出,則生成相應SQL語句。
注釋3:用追加的方法生成SQL語句。
注釋4:生成數據集,顯示數據,最後關閉數據庫連接。
想用PHP做個查詢頁面,接收用戶輸入信息,然後查詢數據庫中對應信息,並輸出出來,本人很菜,希望大家幫忙
$db = mysql_connect(“localhost”, “root”, “password”);
mysql_select_db(“mydb”,$db);
if (isset($_POST[‘name’])) {
echo “你輸入的用戶是:”. $_POST[‘name’];
}
$result = mysql_query(“SELECT * FROM employees WHERE name='”.$_POST[‘name’].”‘”,$db);
while ($fields = mysql_fetch_row($result)) {
$data[] = $filelds;
}
if(!empty($data)){
foreach($data as $val){
foreach($val as $k = $v){
echo $k.” “.$v.”br /”;
}
echo “br /hr /”;
}
}else{
echo “此用戶下沒有數據。”;
}
可能需要修改的地方,查詢條件我是使用的name,根據你數據庫中的字段名做一下更改,輸出信息沒有太多的處理,可以使用表格輸出或是其它樣式,可以自己調整一下,HTML部分省略了。
如何在PHP頁面實現指定條件的查詢
在頁面里把條件都寫到多選按鈕里,post提交,php接收提交的參數,然後拼接成完整的sql語句不就行了?
php 根據條件查詢一條數據 還有查詢所有的數據怎麼弄。。。才學PHP
$query=mysql_query(“SELECT * FROM userinfo WHERE id=’$snum'”);
改成
$query=mysql_query(“SELECT * FROM userinfo”);
就是所有的了
如果想約束
$query=mysql_query(“SELECT * FROM userinfo limit 0,20“);
前 面 第1 到20條
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/195489.html