0

这是我正在尝试的一个小样本..因为它很难在这里编码我已经上传了一张图片..

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

只想显示每个房间的预订总数..谢谢

4

2 回答 2

0

您需要将表格连接在一起并COUNT()与 a一起使用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");

我放置$coordinator在 MySQL 查询之外并添加了非常基本的验证/清理,以使您免于将来遇到 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 回答