Grup tarafından MySQL resultset ekran

3 Cevap php

Ben benzeyen bir tablo var:

Client_ID | Order_ID | 
10        | 1        | 
10        | 2        |
10        | 3        |
14        | 6        |
14        | 7        |
14        | 9        |

Yeriçindee önceki CLIENT_ID hatırlar ve değiştirilemez olmadığını doğrulayan bir döngü yapma delil client_id gruplarını koyarak bu sonuç kümesi üzeriçindeden baskı PHP zarif bir yolu var mı.

Client 10:

  • Sipariş 1
  • Sipariş 2
  • Sipariş 3

Client 14:

  • Sipariş 6
  • Sipariş 7
  • Sipariş 9

3 Cevap

SQL yapabileceğiniz tüm sonraki bir satırda hiçbir ilişkisi tutun satır bir seri yakalamak olduğunu. Muhtemelen öngörülen ne gibi bir döngü ile bu sonuçları için bazı yapı empoze PHP kalmış:

$last_client_id = null;
while($row = mysql_fetch_assoc($results)) {
    if ($row['client_id'] != $last_client_id) {
        // Do whatever it is you do for each new client
    }
    // Do whatever it is you do for each order
    $last_client_id = $row['client_id'];
}

Take a look at the GROUP_CONCAT function: http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

düzenleme: Ben yanlış sen veritabanından almak farz düşünüyorum :/

Kısa: Hayır

Uzun: Nasıl başka önceki yineleme, yeni bir kimlik geliyor biliyor musun? Burada ele durumda çeşit olmalı, o olmadan mümkün olmayacaktır.