0

我有一个如下所示的while循环。我想总结数据库中的所有字段,但忽略一组。这些被称为 id、summary 和 diff。

我已经在下面设置了我认为需要的内容,但不知道如何正确地将当前键与这些字段名称进行比较。

$sql = 'SELECT * FROM table';
$result = mysql_query($sql)
while ($row = mysql_fetch_array($result)){
//DOES KEY = an ignore field name?

//If No 
$i++
}
4

3 回答 3

0

您可以从查询中排除相关的:

SELECT * FROM table WHERE `key` NOT IN ('id','summary','diff')

或者,您可以if在 PHP 中使用一条语句:

if($row['key'] == 'id' || $row['key'] == 'summary' || $row['key'] == 'diff') continue;
于 2012-09-11T16:00:17.600 回答
0

使用in_array. if(in_array($row[i], $values)您将不得不在行中循环以搜索每一列。只需构建一个包含您要搜索的所有字段的数组

于 2012-09-11T16:01:21.407 回答
0
$ignoreTheseColumns = array("id", "summary", "diff");
$sum = 0;
$sql = 'SELECT * FROM table';
$result = mysql_query($sql)
while ($row = mysql_fetch_array($result)){
    foreach($row as $key=>$value)
    {
        //DOES KEY = an ignore field name?
        if(!in_array($key, $ignoreTheseColumns))
        {
            $sum+= $value
        }
}
于 2012-09-11T17:45:48.473 回答