Grup tarafından ve tarih altında görüntüleniyor girişleri

3 Cevap php

İşte benim veriler bulunuyor:

id date  
1 2009-01-01 10:15:23  
2 2009-01-01 13:21:29  
3 2009-01-02 01:03:13  
4 2009-01-03 12:20:19  
5 2009-01-03 13:01:06

Ne yapmak istiyorum, her tarihe göre grup ve daha sonra her tarih aşağıda id numaralarını listelemek. Ben farklı tarih değerlerini alma ve daha sonra tarih düşmek girdilerini almak için aralarında bisiklet olmalı? Bu verimli?

bu yüzden benim çıkış gibi görünecektir:

2009-01-01  
1  
2   
2009-01-02  
3  
2009-01-03  
4  
5

3 Cevap

$query = "SELECT DATE(date) as mydate, id FROM your_data_table ORDER BY mydate, id";
$result = $pdo->query($query);

$oldDate = false;
while ( list($date, $id) = $result->fetch(PDO::FETCH_NUM) ) {
    if ( $oldDate != $date ) {
        echo "$date\n$id\n";
        $oldDate = $date;
    } else {
        echo "$id\n";
    }
}

Bunun yerine birkaç sorguları bunu yapıyor, sadece bir kerede tüm veri getirebilir. Eğer sadece bazı tarihleri ​​gerekiyorsa o zaman sadece ORDER BY önce WHERE madde koymak.

Depolanmış tarihleri ​​ile bir grup yapmak için, size DATE() fonksiyonunu kullanabilirsiniz, sadece tarih kısmı zaman aralığı ayıklamak gerekir, (sütun türü DATETIME veya DAMGASI olduğu) zamanı bilgiler var.

Nasıl böyle tarihten başına girişlerinin sayısını göstererek artırabilirsiniz?

2009-01-01  - Count:2
1  
2   
2009-01-02  - Count:1  
3  
2009-01-03  - Count:2  
4  
5