0

テーブルから未公開レコードの数を取得する関数があります (正常に動作します)。ただし、複数のテーブルで未公開の出現回数の合計を取得したいと考えています。$tables = array('projects', 'testimonials') などを使用して foreach ループを実行できると思います。次に、それぞれの結果を合計して合計数を取得し、それを返しますか? ただし、これを行う方法がわかりません。この種のループは私の能力を少し超えています。

function publishCount($table) {
    $sql = mysql_query("SELECT COUNT(*) AS nb FROM ".$table." WHERE published='0' OR published=''") or die(mysql_error());
    $result = mysql_result($sql, 0);
    if (!$result == 0) { echo 'Awaiting to be published <span class="badge badge-important">'.$result.'</span>'; }
    else { echo 'Awaiting to be published <span class="badge badge-inverse">'.$result.'</span>'; }
}
4

1 に答える 1

1

関数を次のように編集する必要があります。

function publishCount($table) {
    $sql = mysql_query("SELECT COUNT(*) AS nb FROM ".$table." WHERE published='0' OR published=''") or die(mysql_error());
    $result = mysql_result($sql, 0);
    return $result;
}

$tablesしたがって、リストをループできます。

$tables = array('projects', 'testimonials', [...]);
$nbResults = 0;
foreach($tables as $table) {
    $nbResults += publishCount($table);
}
if($nbResults == 0) {
    // ...
} else {
    // ...
}
于 2012-08-09T23:59:33.847 に答える