2011-03-02 18 views
2

我曾经读过一个关于“在PHP分组如何分组结果”(在这个论坛)的问题。我有一个问题几乎与问题相同。分组亚组(使用PHP循环)

我有一个MySQL表是这样的:

+----------+----------+----------+--------------+-------+-------+--------+ 
| type |  ID | customer | address | bill |service| total | 
+----------+----------+----------+--------------+-------+-------+--------+ 
|water  |A1  |jhon  |Samrat street |100 |50  |150  | 
|electric |A1  |jhon  |Samrat street |30  |15  |45  | 
|electric |A2  |ana  |zero street |20  |10  |30  | 
|water  |A3  |billy  |west street |40  |60  |100  | 
+----------+----------+----------+--------------+-------+-------+--------+ 

我想在通知函显示表中的记录,像这样:

JHON(A1)

Samrat的街道

+---------+-------+----------+---------+ 
|type  |bill |service |total | 
+---------+-------+----------+---------+ 
|water |100 |50  |150  | 
|electric |30  |15  |45  | 
+---------+-------+----------+---------+ 
|     grand total|600  | 
+----------------------------+---------+ 

ANA(A2)

零街

+---------+-------+----------+---------+ 
|type  |bill |service |total | 
+---------+-------+----------+---------+ 
|electric |20  |10  |30  | 
+---------+-------+----------+---------+ 
|     grand total|30  | 
+----------------------------+---------+ 

比利(A3)

西街

+---------+-------+----------+---------+ 
|type  |bill |service |total | 
+---------+-------+----------+---------+ 
|water |40  |60  |100  | 
+---------+-------+----------+---------+ 
|     grand total|100  | 
+----------------------------+---------+ 

实际上,我提出用FPDF和笨的外观。但我相信它是PHP网页制作,因为我只是想知道如何使使用的foreach方法(PHP纯笨或)循环的过程。

我希望有人能帮助我。 谢谢你的好意.. ^^”

回答

0

试试这个

$query = mysql_query('SELECT * FROM table GROUP BY ID'); 

foreach (mysql_fetch_object($query) as $row){ 

    $data .= '<div>'; 

    $data .= '<p>' . $row->customer . '(' . $row->ID . ')' . '</p>'; 

    $data .= '<p>' . $row->address . '</p>'; 

    $data .= '<table>'; 

    $query1 = mysql_query('SELECT * FROM table WHERE ID = ' . $row->ID . ' AND customer = "' . $row->customer . '" AND address = "' . $row->address . '"'); 

    $data .= ' 
       <tr> 
        <td>type</td> 
        <td>bill</td> 
        <td>service</td> 
        <td>total</td> 
       </tr> 
      '; 

    $total = 0;    //variable initialized for grand total  
    foreach(mysql_fetch_object($sql1) as $row1){ 

    $data .= ' 
       <tr> 
        <td>' . $row->type . '</td> 
        <td>' . $row->bill . '</td> 
        <td>' . $row->service . '</td> 
        <td>' . $row->total . '</td> 
       </tr> 
      '; 

    $total += $row->total;  //adding the total amount for the grand total 

    } 

    $data .= ' 
       <tr> 
        <td colspan="2" align="right">Grand Total</td> 
        <td colspan="2" align="right">' . $total . '</td> 
       </tr> 
      ';   //This displays the grand total 

    $data .= '</table>'; 

    $data .= '</div>'; 

} 

此外,你可以浏览User Guide of CodeIgniter进一步帮助

+0

感谢coosal你的答案..但是,如何计算盛大总数来自每个ID的总数。我一直在寻找谷歌脚本,但我只找到简单的例子。我仍然对如何开发脚本感到困惑。 – lixchan 2011-03-03 01:48:20

+0

我添加了一些编码在上面的代码中的第二循环中的总计每个ID的。请检查。 – kushalbhaktajoshi 2011-03-03 02:10:05

+0

好的。抱歉,我没有看到它,嘿嘿... ^^'。感谢您的帮助 – lixchan 2011-03-03 05:59:41