【问题标题】:Add LEFT JOIN add MSSQL Server PDO pagination PHP添加 LEFT JOIN 添加 MSSQL Server PDO 分页 PHP
【发布时间】:2019-08-14 05:38:34
【问题描述】:

我目前正在做分页。我已经为一张桌子和成功创建了分页。现在,我想通过加入另一个表来创建分页,这意味着我想使用 LEFT JOIN。以下是我当前的代码

 $query = $conn->prepare("SELECT * FROM ( SELECT *, ROW_NUMBER() OVER (ORDER BY Book_No) 
                as row FROM booking) a WHERE row between ".$offset." and ".$total_records_per_page."");

我想像这样添加左连接。

LEFT JOIN room ON booking.Room_ID = room.Room_ID WHERE Admin_email = '$Email'

我可以知道如何组合查询吗?请帮忙

【问题讨论】:

    标签: php sql-server pdo


    【解决方案1】:

    没有什么需要改变的:

    SELECT *
    FROM
    (
        SELECT *, ROW_NUMBER() OVER (ORDER BY Book_No) AS row
        FROM booking b
        LEFT JOIN room r
            ON b.Room_ID = r.Room_ID
        WHERE Admin_email = :email
    ) a
    WHERE row BETWEEN :start AND :end;
    

    示例脚本:

    $sql = "SELECT * FROM (
        SELECT *, ROW_NUMBER() OVER (ORDER BY Book_No) AS row
        FROM booking b
        LEFT JOIN room r
            ON b.Room_ID = r.Room_ID
        WHERE Admin_email = :email
    ) a
    WHERE row BETWEEN :start AND :end";
    
    
    $query = $conn->prepare($sql);
    $query->execute([':email' => $email, 'start' => $offset,
        'end' => $total_records_per_page]);
    

    【讨论】:

    • 根据您的回答,我需要使用哪一个?顶部还是底部?
    • 底层版本只使用上面的查询,仅此而已。
    • 未定义变量:第 151 行 C:\xampp\htdocs\ebooking\indes.php 中的电子邮件和
    • 列“Room_ID”被多次指定为“a”。
    • 我假设您的脚本中有一个名为 $email 的变量。显然,如果你,那么脚本就会崩溃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-21
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 2011-11-01
    • 1970-01-01
    • 2015-11-29
    相关资源
    最近更新 更多