0

while ループ内にネストされた foreach ループがあります。範囲に一致する myqsl テキスト フィールドの日付から抽出します。唯一の問題は、テキスト フィールドを抽出した後、日付で注文できないことです。2 つの異なるテキスト フィールドに同じ日付 (この例では 02.01.2013) を入力すると、出力に次のように表示されます。

       TOUR 1  
       01.01.2013
    -> 02.01.2013 
    -> 03.01.2013
       04.01.2013

       TOUR 2
    -> 02.01.2013 
    -> 03.01.2013    

ループ後に日付 ($day) でグループ化する方法がわかりません。私は解決策がこれのための配列を作成することであることを知っていますが、どのように?

ここに私のコードがあります:

     $sql = "SELECT accommodation, start FROM circuits_".$_POST['year']." 
     WHERE start >='".$first."' AND start <= '".$last."' 
     ORDER BY start";
     $rows = $db->query($sql);

     while ($record = $db->fetch($rows)) { 

     $data_acc = explode(';',$record['accommodation'], -1);

     foreach($data_acc as $row_acc) {
     list($day,$name,$sgl,$dbl) = explode('|',$row_acc);

ありがとう

4

2 に答える 2

0

このようなものを探していると思いますか?( に置き換えORDER BYますGROUP BY)

$sql = "SELECT accommodation, start FROM circuits_".$_POST['year']." 
 WHERE start >='".$first."' AND start <= '".$last."' 
 GROUP BY start";
 $rows = $db->query($sql);

 while ($record = $db->fetch($rows)) { 
    //do whatever..
 }
于 2013-05-05T16:51:18.940 に答える