php - 使用循环和数组计算多个表中未发布的总发生次数

标签 php mysql arrays

我有一个函数可以从表中获取未发布记录的数量(效果很好)。但是现在我想获取多个表中未发布事件的总数。我想我可以使用 $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/

相关文章:

php - 使用 php 将多维数组从多个表转换为单个 json 数组值

php - PDOStatement::fetchObject 如何在构造类之前设置属性?

php - 使用 laravel 代客使用 wordpress,无法增加最大上传限制

javascript - 传递 WordPress $current_user 数据以在嵌入的 javascript 中使用以预填充表单字段

php - 尝试将Android中捕获的用户名和密码传递给PHP来查询MYSQL数据库

java - 字符串数组或数组列表,该选择哪一个?

php - 测试在 PHPUnit 中不会调用任何方法(无论名称)?

php - 无法在 PHP 中更新图像源

mysql - 如何加入比较不同结果的两个查询?

javascript - 仅合并重复出现的重复对象