Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak wykonać wiele zapytań, aby zmniejszyć liczbę zapytań?

PDO to trochę więcej niż wszyscy myślą. Na przykład ma dla Ciebie wspaniałą funkcję o nazwie PDO::FETCH_GROUP .

Nie wspominając o innych drobnych ulepszeniach, które mogą znacznie skrócić Twój kod.

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

To wszystko, czego potrzebujesz.

tutaj wybierasz confirmed najpierw pole, a następnie powiedz PDO, aby pogrupował (lub „pomnożył”) wyniki na podstawie jego wartości.

A teraz możesz drukować swoje komentarze w dowolnym miejscu

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

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

Albo zrobić to w jednej pętli

$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. Najlepsze praktyki tworzenia kopii zapasowych dla MySQL, MariaDB i Galera Cluster

  2. MySQL:kolumny o niskiej kardynalności/selektywności =jak indeksować?

  3. Jak ustawić varchar, aby miał nieograniczoną długość?

  4. Aplikacja z listą rzeczy do zrobienia używająca PHP i bazy danych MySQL

  5. Jeden do wielu MySQL