2013-02-11 5 views
0

Я хочу, чтобы отобразить таблицу, которая выглядит следующим образом из запроса Mysql с помощью PHP:Mysql Query Group By Display Использование PHP

Vendor Name 

Item Not to Drawing  Item Defective Incorrect Item Received Other 

     9     2     3     5 


Vendor Name 

Item Not to Drawing  Item Defective Incorrect Item Received Other 

     2     4     5     7 

и т.д ..

Вот мой код ....

<?php 
$con = mysql_connect("localhost","xxx","xxx"); 
if (!$con) 
    { 
    die('Could not connect: ' . mysql_error()); 
    } 

mysql_select_db("qa", $con); 

$result = mysql_query("SELECT Vendor, Sum(draw), Sum(defective), Sun(received), Sum(other) FROM qa_reports Group by Vendor Order by Vendor ASC"); 
echo "<table> 
<tr> 
<th>Item not to Drawing</th> 
<th>Item Defective</th> 
<th>Incorrect Item Received</th> 
<th>Other</th> 
</tr>"; 

while($row = mysql_fetch_array($result)) 
    { 
    echo "<tr>"; 
    echo "<td>" . $row['Sum(draw)'] . "</td>"; 
    echo "<td>" . $row['Sum(defective)'] . "</td>"; 
    echo "<td>" . $row['Sum(received'] . "</td>"; 
    echo "<td'>" . $row['Sum(other)'] . "</td>"; 
    echo "</tr>"; 
    } 
echo "</table>"; 
mysql_close($con); 
?> 

Не знаете, как получить вышеуказанные результаты, отформатированные как таковые.

Я сделал это с CFML, но новичок в PHP и не могу понять, как перечислять результаты в таблице, сгруппированной по полю.

+0

Пожалуйста, вы можете объяснить, что вы пытаетесь сделать? –

+0

[** Пожалуйста, не используйте 'mysql_ *' функции в новом коде **) (http://bit.ly/phpmsql). Они больше не поддерживаются [и официально устарели] (http://j.mp/XqV7Lp). См. [** красное поле **] (http://j.mp/Te9zIL)? Узнайте о [* подготовленных операторах *] (http://j.mp/T9hLWi) и используйте [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/ mysqli) - [эта статья] (http://j.mp/QEx8IB) поможет вам решить, какой из них. – Kermit

+1

У вас есть опечатка в вашем запросе 'Sun (получено)' – Musa

ответ

2

Вам необходимо указать свои столбцы, чтобы ссылаться на них в вашем массиве $row.

SELECT vendor, 
     Sum(draw)  AS draw, 
     Sum(defective) AS defective, 
     Sun(received) AS received, 
     Sum(other)  AS other 
FROM qa_reports ... 

Затем вы можете ссылаться на них так:

$row['draw']; 
... 
+0

Спасибо. Запрос работает сейчас. Теперь мне просто нужно выяснить, как правильно форматировать отображение данных. – Lawrence

2

SELECT Vendor, Sum(draw) AS sumDraw, Sum(defective) AS sumDefective ...

$row['sumDraw'] т.д.