0
AJAXを使用してパワー検索を作成しようとしています.3つのテーブルで結果を探し、答えを1つのテーブルに返します。私はデータベース(テーブルあたり1つ)に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で試していましたが、明らかに動作しませんでした。 –
誰かがこの回答を読んでいる場合は、簡単にメモ:個々のクエリ間の ";"を削除してください。 –