0

ここに私がしようとしているものの小さなサンプルがあります..ここでそれをコーディングするのは難しいので、画像をアップロードしました..

http://i46.tinypic.com/5bxn5u.png

各部屋の予約総数を表示したいだけです..ありがとう

4

2 に答える 2

0

テーブルを結合して、次のように使用する必要COUNT()がありGROUP BYます。

SELECT
    a.id, a.name, COUNT(*) AS num_reservations
FROM
    availables a
    LEFT JOIN reservations r
        ON r.available_id = a.id
GROUP BY
    a.id

これにより、各部屋のリストと、それぞれの予約の総数が表示されます。

それを既存のクエリに入れるには、次を使用できます。

$coordinator = (isset($_GET['uidse']) && is_numeric($_GET['uidse'])) ? (int)$_GET['uidse'] : 0;
$result = mysql_query("SELECT *, COUNT(*) AS num_reservations FROM availables LEFT JOIN reservations ON availables.id=reservations.available_id WHERE coordinator='" . $coordinator . "' GROUP BY availables.id");

私は MySQL クエリの外に配置$coordinatorし、非常に基本的な検証/サニタイズを追加して、将来の SQL インジェクションの頭痛の種からあなたを救いました。

于 2012-08-13T19:26:20.877 に答える
0
SELECT availables.name, COUNT(*) FROM availables
LEFT JOIN reservations ON reservations.available_id = availables.id
GROUP BY reservations.available_id
于 2012-08-13T19:26:24.510 に答える