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

を使用しますin_arrayif(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 に答える
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 に答える