當前位置:首頁 » 編程語言 » php條件搜索

php條件搜索

發布時間: 2022-09-04 13:12:32

1. php多條件復合搜索怎麼做到

這個用腳本來做更簡單些,不用分多次往a.php傳參。傳一次就行了。
<!--HTML START-->
<!--函數參數推薦寫數字,既對應「摩托羅拉」的id,但由於這里你沒給出,我索性寫上漢字了-->
<a href="javescript:set_made('摩托羅拉')">摩托羅拉</a>
<a href="javescript:set_made('諾基亞')">諾基亞</a>
<a href="javescript:set_made('蘋果')">蘋果</a>

<a href="javescript:set_price('1000-2000')">1000-2000元</a>
<a href="javescript:set_price('2000-3000')">2000-3000元</a>
<a href="javescript:set_price('3000-5000')">3000-5000元</a>

<a href="javescript:set_os('android系統')">android系統</a>
<a href="javescript:set_os('塞班系統')">塞班系統</a>
<a href="javescript:set_os('蘋果系統')">蘋果系統</a>
<!--這里的表單隱藏域,只顯示一個搜索按鈕-->
<form action='' method='post'>
<input id='made' name='made' type='hidden' value='<?php echo $_POST['made'] ?>'/>
<input id='price' name='price' type='hidden' value='<?php echo $_POST['price'] ?>'/>
<input id='os' name='os' type='hidden' value='<?php echo $_POST['os'] ?>'/>
<input type='submit' value = '搜索'/>
</form>
<!--HTML END-->

<!--SCRIPT START-->
<script>
/* @Tips : 這段JS代碼可以放到單獨的JS文件中去,也可以直接寫到head里,隨你。
* @Purpose : 這里幾個函數分別是把隱藏域中的made、price、os設置成對應的值,點擊鏈接時觸發
* @Method : set_made,set_price,set_os
* @Param : str 字元串或者數字,請根據你的需要來決定
* @Return : NULL
*/
function set_made (str) {
document.getElementById('made').value = str;
}
function set_price (str) {
document.getElementById('price').value = str;
}
function set_os (str) {
document.getElementById('os').value = str;
}
</script>
<!--SCRIPT END-->

至於函數參數里你是要添ID 還是添漢字,自己改就行了。
還有你說的那個變色的問題,也不難做,但代碼有點長,我懶得寫了……
就跟你說一下方法:
首先你要給這幾個<a>標簽做個CSS類名,比如<a class='test'>,這個test可以不寫,主要是用來區別頁面其它的<a>標簽。當然不寫也沒關系,只是會讓JS腳本稍慢一點。
然後用document.getElementByTageName('a'),獲取頁面中所有的<a>標簽。做個循環,把class不是test的過濾掉,再用他們的innerHTML屬性與made、price、os的value屬性分別比較,如果是一樣的話,就改變它的背景顏色。

2. php 條件查詢

mysql_fetch_array() 提供的參數不是有效的mysql數據源
也就是說你的mysql_fetch_array()括弧裡面的你執行的query不正確
你先檢查一下,先別著別mysql_query()
直接把sql語句echo出來,再看看有沒有什麼錯,或直接用mysql直接執行一下試試

3. PHP中關於查詢多個條件的代碼

先向大家說明需求:按照系統的要求,將通過部門名稱、員工姓名、PC名稱、IP地址等等欄位來進行組合查詢從而得到想要的數據結果。那麼,為了簡單起見,我們用兩個條件(部門名稱、員工姓名)的組合查詢來向大家說明這一技術技巧。當只輸入部門名而員工姓名為空值時,那麼部門內所有員工信息將被呈現,只有當同時限制部門與員工姓名時,才能查詢出唯一信息。

那就讓我們開始。

首先建立查詢頁面search.php,不同於上次單一條件查詢,這次需要兩個條件的組合進行查詢。

<html>
<body>
<h3>查詢</h3>
<form action="search_result.php" method="POST">
部門名稱:<input type="text" size=25 name="depart" value=""> <br><br>
員工姓名: <input type="text" size=25 name="ename" value=""> <br><br>
<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---www.51qgj.com-----
$q = "SELECT * FROM info where (1=1)";
$q .=$a;
$q .=$b;

//注釋4---www.weiyin8.com-------------
mysql_query("SET NAMES GB2312");
$rs = mysql_query($q, $link);
echo "<table>";
echo "<tr><td>部門</td><td>員工姓名</td></tr>";
while($row = mysql_fetch_object($rs)) echo "<tr><td>$row->depart</td><td>$row->ename</td></tr>";
echo "</table>";

mysql_close($link);

?>
注釋1:接收search.php通過post傳遞出的參數,把兩個參數分別存儲入變數:depart和ename。

注釋2:判斷參數是否為空,如果為空,不作任何操作。如果有參數傳出,則生成相應SQL語句。

注釋3:用追加的方法生成SQL語句。

注釋4:生成數據集,顯示數據,最後關閉資料庫連接。

4. php 搜索 多條件語句怎麼寫

不知道你有沒有存外鍵有的話

SELECT*fromaasa1leftjoinbasb1ona1.id=b1.idleftjoincasc1onb1.id=c1.idwheredwlike'%xxx%'

5. 如何實現PHP 多條件模糊搜索

用like來實現單個條件的模糊搜索,用or來連接多個模糊搜索條件

6. php怎麼用實現復合條件搜索,sql語句後面where怎麼寫,假如我有3類條件行,謝謝!

就按照第一個人的方法做,稍微改改就可以了
你可以寫成ajax的,然後點擊觸發函數,將條件傳給php文件
php裡面的sql就拼寫出來
例如:你寫了一跳sql $sql= "select * from 表名 where 1=1";
if(總價!='' && 總加 == 100萬-120萬){
$sql .= " (這前面是有個空格的昂)and (這前面是有個空格的昂)總價表欄位名>100 and 總價表欄位<120"

}
if(居室 != ''&& 居室=="一居"){
$sql .= " and 居室表欄位=='一居'";

}
以此類推!

7. MYSQL資料庫+PHP,多重條件搜索的方法,高手解答一下。高分懸賞。

這個很簡單,你可以先用GET獲取URL中KEYWORD的值,獲得了之後進行第一次MYSQL查詢,當用戶在返回的結果中再次點擊後即可再次查詢.
同時也可以用鏈表查詢來解決,即MYSQL中的多對多查詢.
這個你可以去查詢下相關例子,我就不在這細說了.
QQ:408668252
如果找不到那找:[email protected]

熱點內容
我的世界伺服器等級如何升 發布:2025-01-15 12:45:55 瀏覽:687
c語言程序填空題 發布:2025-01-15 12:45:53 瀏覽:543
怎麼配置氯化鈉濃度 發布:2025-01-15 12:34:06 瀏覽:205
4000除以125簡便演算法 發布:2025-01-15 12:27:41 瀏覽:463
源碼商用 發布:2025-01-15 12:26:54 瀏覽:74
價錢演算法 發布:2025-01-15 12:26:03 瀏覽:400
蘋果手機安卓功能在哪裡 發布:2025-01-15 12:21:34 瀏覽:786
伺服器地址埠名稱怎麼找 發布:2025-01-15 12:15:32 瀏覽:705
怎麼把電腦程序改安卓 發布:2025-01-15 12:13:52 瀏覽:576
安卓如何設置格子 發布:2025-01-15 12:02:11 瀏覽:936