PHP組合查詢多條件查詢實例代碼第1/2頁
先向大家說明需求:按照我們系統(tǒng)的要求,我們將通過部門名稱、員工姓名、PC名稱、IP地址等等字段來進(jìn)行組合查詢從而得到想要的數(shù)據(jù)結(jié)果。那么,為了簡單起見,我們用兩個條件(部門名稱、員工姓名)的組合查詢來向大家說明這一技術(shù)技巧。當(dāng)我們只輸入部門名而員工姓名為空值時,那么部門內(nèi)所有員工信息將被呈現(xiàn),只有當(dāng)你同時限制部門與員工姓名時,才能查詢出唯一信息。
那就讓我們開始。
首先建立查詢頁面search.php,不同于上次單一條件查詢,這次我們需要兩個條件的組合進(jìn)行查詢。
<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文件。
然后便到了這次主題的關(guān)鍵,search_result.php文件如何接受這兩個參數(shù)值,并判斷當(dāng)其中一個字段為空值時,如何將其排除查詢條件。
怎么理解上面這句話,舉例子來說,如果我們單純地將接收參數(shù)的查詢語句寫成 select * from info where depart='部門值參數(shù)' and ename='員工姓名參數(shù)' 的話,那么如果其中一個參數(shù)為空時我們就將得到 select * from info where depart='技術(shù)部' and ename='' ,顯然,這樣的查詢很有可能返回空的結(jié)果,因為這句查詢語句的意思就是,查詢所有技術(shù)部沒有姓名的人的數(shù)據(jù),這不是很荒唐么,倒過來如果是 select * from info where depart='' and ename='sunec' ,那么它的意思就是查詢員工姓名為sunec但是不屬于任何部門的人,那自然也是查詢不到結(jié)果的。
正確的做法應(yīng)該是,在查詢語句中過濾掉那個為空值的的參數(shù)。比如,當(dāng)我們只輸入部門名時應(yīng)該得到 select * from info where depart='技術(shù)部' 。這樣,查詢語句的意思就變成查詢所有部門為技術(shù)部員工的信息了,這就是我們想要的。
明確了思路,那么,下一次我們就去實現(xiàn)它!
- ThinkPHP多表聯(lián)合查詢的常用方法
- PHP中MongoDB數(shù)據(jù)庫的連接、添加、修改、查詢、刪除等操作實例
- php連接oracle數(shù)據(jù)庫及查詢數(shù)據(jù)的方法
- PHP查詢數(shù)據(jù)庫中滿足條件的記錄條數(shù)(兩種實現(xiàn)方法)
- Php中使用Select 查詢語句的實例
- php基礎(chǔ)之連接mysql數(shù)據(jù)庫和查詢數(shù)據(jù)
- php 數(shù)組操作(增加,刪除,查詢,排序)等函數(shù)說明
- php簡單實現(xiàn)查詢數(shù)據(jù)庫返回json數(shù)據(jù)
- ThinkPHP查詢語句與關(guān)聯(lián)查詢用法實例
- php實現(xiàn)查詢功能(數(shù)據(jù)訪問)
相關(guān)文章
PHP 第二節(jié) 數(shù)據(jù)類型之字符串類型
PHP 數(shù)據(jù)類型之字符串類型,一般就是用單引號或雙引號包括的東西2012-04-04動態(tài)網(wǎng)站web開發(fā) PHP、ASP還是ASP.NET
動態(tài)網(wǎng)站web開發(fā) PHP、ASP還是ASP.NET...2006-10-10一步一步學(xué)習(xí)PHP(4) php 函數(shù) 補充2
相信每個人在學(xué)習(xí)PHP之前至少都有著一定的C語言,或者是C++/Java/C#等其他語言的基礎(chǔ),所以在這里也不從頭開始說起,只是來談?wù)凱HP方法的獨特之處。2010-02-02