2017-04-11 34 views
0

我們在寫作的同時如何從數據庫獲取結果?如何在寫作時從數據庫獲取結果?

比方說,我輸入姓名字段Ja,然後選擇框下拉式獲取數據庫中以此開頭的所有名稱。

像:

James 
Jay 
Jared 

,然後我型像Jam多了一個字母,然後所有的名字消失,而是James離開。

這個過程的名稱是什麼,我們該怎麼做? 我只使用PHP(PDO),我也必須使用Java/jQuery嗎?

+1

這只是一個下拉式自動完成字段。這通常通過AJAX完成。 [jQuery](http://jquery.com)有很多方法可以做到這一點。例如: – tadman

+0

例如:您在輸入[type = text]中鍵入文本,jQuery將數據發送到您的數據庫請求腳本,該腳本將結果作爲json返回給jQuery,然後jquery將數據放入輸入的正下方-領域。 – Bernhard

+0

謝謝大家,在你回答我搜索後,發現這段視頻幫了我很多忙:https://www.youtube.com/watch?v=_AqM9U3mi9A – Andre

回答

0

您嘗試構建的功能稱爲自動完成。

您將需要編寫一個PHP腳本(假設您正在編寫一個純粹的基於PHP的Web應用程序),它將輸入的字符串輸入到輸入框中,並在您的數據庫表上觸發一個SQL'LIKE'查詢並返回匹配結果列表。

在每個按鍵事件的用戶界面上,您需要進行ajax調用,該調用將調用上述PHP腳本並獲取名稱列表。你現在可以在下拉列表中顯示該列表,或者在jQuery UI中有很多插件可以爲你創建這個組件。

注意:如果您的表包含數千行,則使用LIKE查詢來自動完成字符串可能代價高昂。如果性能也是一個問題,那麼請查看Apache Solr或Elasticsearch來索引數據並提供更復雜的自動完成結果。在這種情況下,你不得不查詢這些引擎並獲得結果。

但是,如果你不處理大量的數據,你仍然可以使用LIKE查詢。

+0

謝謝大家,在你回答我搜索並發現這個視頻幫了我很多:https://www.youtube.com/watch?v=_AqM9U3mi9A – Andre

相關問題