Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm thế nào để nhiều kết quả truy vấn để giảm số lượng truy vấn?

PDO nhiều hơn một chút so với những gì mọi người nghĩ. Ví dụ:nó có một tính năng tuyệt vời dành cho bạn, được gọi là PDO ::FETCH_GROUP .

Chưa kể đến những cải tiến nhỏ khác có thể làm cho mã của bạn ngắn hơn đáng kể.

$r = $handler->query("SELECT confirmed, c.* FROM comments c")->fetchAll(PDO::FETCH_GROUP);

Là tất cả mã bạn cần.

ở đây bạn đang chọn confirmed trường đầu tiên và sau đó yêu cầu PDO nhóm (hoặc "nhân") các kết quả dựa trên giá trị của nó.

Và bây giờ bạn có thể in nhận xét của mình ở bất cứ đâu bạn muốn

// Awaiting Comments
foreach($r[0] as $r_) {
    echo "<li>$r_[title]</li>";
}

// Confirmed comments
foreach($r[2] as $r_) {
    echo "<li>$r_[title]</li>";
}

Hoặc, để làm cho nó trong một vòng lặp

$titles = [
    0 => 'Awaiting Comments',
    2 => 'Comments waiting confirmation',
    1 => 'Confirmed Comments',
];

foreach ($titles as $code => $title)
{
    echo "<h3>$title</h3>";
    foreach($r[$code] as $r_) {
        echo "<li>$r_[title]</li>";
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. không thể kết nối với docker mysql từ cục bộ

  2. Câu lệnh SQL CASE

  3. Truy vấn SELECT này mất 180 giây để hoàn thành

  4. Các phương pháp hay nhất trong cơ sở dữ liệu chia tỷ lệ:Phần 1

  5. Tại sao null <> null =null trong mysql