【问题标题】:How to get results count from each entry ID - PHP/SQL?如何从每个条目 ID 获取结果计数 - PHP/SQL?
【发布时间】:2012-08-10 01:40:24
【问题描述】:

这是我正在尝试的一个小示例。因为它很难在这里编码,所以我上传了一张图片。

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

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

【问题讨论】:

    标签: php sql count


    【解决方案1】:
    SELECT availables.name, COUNT(*) FROM availables
    LEFT JOIN reservations ON reservations.available_id = availables.id
    GROUP BY reservations.available_id
    

    【讨论】:

    • 应该有多个协调员,..如何获得一个明确的协调员..例如。 WHERE coordinator=4
    【解决方案2】:

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

    我将$coordinator 放置在 MySQL 查询之外,并添加了非常基本的验证/清理,以使您免于将来遇到 SQL 注入问题。

    【讨论】:

    • 我想获取特定协调员的可用和预留计数,因为这是他们的仪表板,例如。 WHERE coordinator=4
    • @user1596253 我的第二个查询,显示如何使用 your 代码实现它的查询显示了如何做到这一点,不是吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多