0

我有一个函数可以从表中获取未发布记录的数量(工作正常)。但是现在我想获得多个表中未发布的事件总数。我想我可以使用 $tables = array('projects', 'testimonials') .etc 进行 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 回答