sql >> Databasteknik >  >> RDS >> Mysql

Hur kan man multiplicera frågeresultat för att minska frågetalet?

PDO är lite mer än alla tror att det är. Till exempel har den en fantastisk funktion för dig, som kallas PDO::FETCH_GROUP .

För att inte tala om andra små förbättringar som kan göra din kod dramatiskt kortare.

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

Är all kod du behöver.

här väljer du den bekräftade fält först och säg sedan till PDO att gruppera (eller "multiplicera") resultaten baserat på dess värde.

Och nu kan du skriva ut dina kommentarer var du vill

// 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 för att göra det i en slinga

$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. Oracle Concurrent Manager

  2. Hur kan jag infoga data i MySQL-databasen?

  3. Gruppera efter dag och fortfarande visa dagar utan rader?

  4. Oracle prestanda &trimning Quiz