PHP組合查詢多條件查詢執行個體代碼第1/2頁

來源:互聯網
上載者:User

先向大家說明需求:按照我們系統的要求,我們將通過部門名稱、員工姓名、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='技術部' 。這樣,查詢語句的意思就變成查詢所有部門為技術部員工的資訊了,這就是我們想要的。

明確了思路,那麼,下一次我們就去實現它!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.