0
我試圖使用AJAX創建一個電源搜索,它在3個不同的表中查找結果,並在單個表中返回結果。我已經通過向我的數據庫添加了3個調用(每個表一個)來完成此操作,但是我覺得這不是最佳的。單個查詢在幾個表中搜索並生成1個結果
用戶將在搜索字段中輸入內容,然後使用AJAX將他們鍵入的內容發送到數據庫。這個例子儘可能簡單以便於理解。
實施例: 用戶輸入:測試。
AJAX調用:
SELECT 'User' AS table, f_name AS `name`, city FROM people WHERE f_name LIKE '%test%';
SELECT 'Company' AS table, `name`, city FROM companies WHERE `name` LIKE '%test%';
SELECT 'Store' AS table, `name`, city FROM stores WHERE `name` LIKE '%test%';
我不解釋我是如何生成的表格形式Ajax調用,因爲這部分解決。我目前正在做PHP是:
$sql = SELECT .... FROM people ....;
$res = mysqli...
while($row = mysqli_fetch...) {
echo "<tr><td>{$row[table]}</td>...."
$sql = SELECT .... FROM companies ....;
$res = mysqli...
while($row = mysqli_fetch...) {
echo "<tr><td>{$row[table]}</td>...."
$sql = SELECT .... FROM stores ....;
$res = mysqli...
while($row = mysqli_fetch...) {
echo "<tr><td>{$row[table]}</td>...."
結果:
+--------------+-------+------+
| table | name | city |
+--------------+-------+------+
| User | test1 | 13 |
| User | test2 | 25 |
| Company | testc | 13 |
| Store | stest | 33 |
+--------------+-------+------+
是否有更簡單的方法來達到這個目的,使用較少的HTTP請求?也許使用視圖?
謝謝!我不知道這個功能,我試着用JOIN,但顯然它不起作用。 –
快速注意,如果有人讀這個答案:刪除個人查詢之間的「;」。 –