2011-06-30 14 views
-1

私は数値を保持する変数を持つmysqlデータベースを持っています。これらの数字を各行に入れて配列に入れたいと思います。それから、数字を合計したいと思います。これまでのところ配列から数字を得ることはできますが、それらを追加することはできません。配列の合計数値

CODE:

$result=mysql_query("SELECT * FROM table WHERE book='$id'"); 
$max = array(); 

while($row = mysql_fetch_assoc($result)) { 
    $max[] = $row['max']; 
} 

私は今、例えば、配列内の数字を持っています。 $max[8]=45ですが、どのようにすべての配列番号を追加できますか?ありがとう。

+3

[配列の値を追加する](http://stackoverflow.com/questions/5330823/adding-values-in-an-array)と[配列の値をすべて一緒に追加するにはどうすればいいですか? PHP?](http://stackoverflow.com/questions/2439129/how-can-i-add-all-of-my-array-values-together-in-php)と[おそらく他の](http:// stackoverflow.com/search?q=php+array+sum+values)。 –

+0

SQLをサニタイズする...バービーテーブルを覚えています... –

答えて

3

データベースからの合計だけが必要な場合は、PHPコードで再度操作するのではなく、SQLで使用することをお勧めします。 使用可能 tablenameから選択した合計(colname)

オプションで、選択基準をグループ化または指定できます。 SQLを使用して実行できない操作を明示的に必要としない限り、より速く、常に好ましいでしょう。

+0

データベースのサマリーが速くなることを指摘する+1 - このようにすれば、DBからPHPへのすべての値を渡すのに必要な時間を節約できます。あなたは1つの行だけを渡すので。 – Tadeck

+0

真ですが、「データベースからの合計だけが必要な場合」は重要です。私は実際にこれについて少し前に質問しました:http://stackoverflow.com/questions/6351478/getting-all-data-in-one-query-and-processing-in-php-vs-querying-repetitively-/6351509#6351509 –

1

テーブル内にフィールドが最大であると仮定します。

SELECT sum(max) from table where book id = $id 

こうすれば、それを計算するために追加のステップは必要ありません。