2016-06-16 4 views
-1

同じページから送信されたAJAXリクエストを使って、下のテーブルを生成するPHPコードがあります。フェッチされた配列内のPHP ifステートメント

mysqlクエリは、「今日」から7日間の範囲内のデータを取得します。

フェッチされたデータは、下の最初のスクリーンショットに示すように、テーブルのtbodyに追加されます。

私のコードは、次のとおりです。

$result = mysqli_query($con," SELECT * FROM `BIMTECH_academy_2016_classes` 
WHERE `RealDate` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) 
ORDER BY RealDate ASC, RealFrom ASC; "); 

    $html = ""; // a variable 
    while($row = mysqli_fetch_array($result)) 
    { 
     $html.= "<tr>"; 
      $html.= "<td colspan='4' id='date'>" . $row['Date'] . "</td>"; 
     $html.= "</tr>"; 
     $html.= "</tr>"; 
      $html.= "<td>" . $row['CourseName'] . "</td>"; 
      $html.= "<td>" . $row['From'] . "</td>"; 
      $html.= "<td>" . $row['To'] . "</td>"; 
      $html.= "<td>" . $row['InstructorName'] . "</td>"; 
      //$html.= "<td>" . $row['ClassNumber'] . "</td>"; 
     $html.= "</tr>"; 
    } 

enter image description here

結果は以下の第二のスクリーンショットに示すようにしかし、私は何をしようとしていますが重複した日付(S)の赤を取得している、すべて正しいです。

enter image description here

また私は、テーブルにはコンテンツがありませんので、私は最終的に表に7日間ご覧他の日を追加する必要があります(「オフの日」のないデータ、および他の人といくつかの)

すべてのアイデア??

+0

何をしたいあなたが最初のように_(たとえば)_ '配列()'にデータを保存することができ、その後、あなたはこの配列(foreachの)からHTMLを作成することができますを行う必要があります。次に、配列から同じ日付をフィルタリングし、赤色で強調表示することができます。 – pes502

答えて

1

はuが

$result = mysqli_query($con," SELECT * FROM `BIMTECH_academy_2016_classes` 
WHERE `RealDate` BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL 7 DAY) 
ORDER BY RealDate ASC, RealFrom ASC; "); 

    $html = ""; // a variable 
    $lastDate; 
    while($row = mysqli_fetch_array($result)) 
    { 
     if($lastDate != $row['Date']) 
     { 
       $lastDate = $row['Date']; 
       $html.= "<tr>"; 
        $html.= "<td colspan='4' id='date'>" . $row['Date'] . "</td>"; 
       $html.= "</tr>"; 
     } 
     $html.= "<tr>"; 
      $html.= "<td>" . $row['CourseName'] . "</td>"; 
      $html.= "<td>" . $row['From'] . "</td>"; 
      $html.= "<td>" . $row['To'] . "</td>"; 
      $html.= "<td>" . $row['InstructorName'] . "</td>"; 
      //$html.= "<td>" . $row['ClassNumber'] . "</td>"; 
     $html.= "</tr>"; 
    } 
+0

@Monarchisありがとう、達成しようとしている他の目標はどうですか?任意のアイデア – Mazen

+0

'また、テーブルに内容を持たない他の日を追加する必要があるので、私は最終的にテーブルの7日間を見ます(データのあるものと、休暇のないもの) – Mazen

関連する問題