我有一个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++
}发布于 2012-09-12 01:45:48
$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-12 00:00:18
您可以从查询中排除相关内容:
SELECT * FROM table WHERE `key` NOT IN ('id','summary','diff')或者,您可以只在您的PHP中使用if语句:
if($row['key'] == 'id' || $row['key'] == 'summary' || $row['key'] == 'diff') continue;发布于 2012-09-12 00:01:21
使用in_array。if(in_array($row[i], $values)您将不得不在行中执行循环以搜索每一列。只需构建一个包含要搜索的所有字段的数组
https://stackoverflow.com/questions/12373660
复制相似问题