sql >> Database teknologi >  >> RDS >> Mysql

Hvordan gentages flere forespørgselsresultater for at reducere forespørgselsnummeret?

PDO er lidt mere, end alle tror, ​​det er. For eksempel har den en storslået funktion til dig, kaldet PDO::FETCH_GROUP .

For ikke at nævne andre små forbedringer, der kan gøre din kode dramatisk kortere.

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

Er al den kode, du har brug for.

her vælger du den confirmed felt først, og bed derefter PDO om at gruppere (eller "multiplicere") resultaterne baseret på dens værdi.

Og nu kan du udskrive dine kommentarer, hvor du vil

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

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

Eller for at lave det i én løkke

$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. Implementering og administration af MySQL NDB Cluster med ClusterControl

  2. Kan ikke få spring boot til automatisk at oprette databaseskema

  3. MYSQL:Hvordan kan jeg finde 'sidste mandags dato' (performance Issue)

  4. Skrivning af en SQL-forespørgsel til SELECT-element fra følgende tabel