我有一个函数可以从表中获取未发布记录的数量(效果很好)。但是现在我想获取多个表中未发布事件的总数。我想我可以使用 $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>'; }
}
最佳答案
您应该这样编辑您的函数:
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 {
// ...
}
关于php - 使用循环和数组计算多个表中未发布的总发生次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893627/