2013-06-05 61 views
5

我是一个PHP的总noob,但我试图用我能找到的信息构建一个从MySQL表中读取多行的脚本。每一行只包含一个数字。让我举个例子:从MySQL表中获取多行值

表中的每个ID都有一个名为“number”的行。

ID| NUMBER 
1 | 8 
2 | 12 
3 | 6 
4 | 9 

现在我需要一个脚本, - 例如 - 取ID 1,2,和4以及计算总金额8 + 12 + 9 = 29。 3没有意思,我不想在计算过程中出现这一行。接下来,这个总数需要输出到一个空白的网页,所以它只显示总数,没有其他的。

例子将不只是欢迎和非常感谢!

回答

6

退房SQL SUM()聚合函数和IN比较操作:

SELECT SUM(`number`) FROM `table` WHERE `id` IN (1,2,4); 

UPDv1:

<?php 
// hostname, username, password and database should be replaced with actual values. 
$dbms = mysqli_connect('hostname', 'username', 'password', 'database'); 

if($dbms->connect_errno)die('MySQL connection error: ' . $dbms->connect_error); 

// table should be replaced with actual table name. 
$result = $dbms->query('SELECT SUM(`number`) as `amount` FROM `table` WHERE `id` IN (1,2,4)'); 

if($dbms->errno)die('MySQL error: ' . $dbms->error); 

$row = $result->fetch_assoc(); 

echo $row['amount']; 
?> 

此外,检查MySQLi驱动程序PHP是installed

+0

非常好,谢谢一堆! –

2

只需在您的SQL中使用SUM()。这一般SQL应该工作:

SELECT SUM(column name) FROM table WHERE condition