2017-01-05 7 views
3
<?php 

echo "<table class=\"table table-hover table-bordered\">"; 
echo "<thead>"; 
echo "<tr>"; 
$result=mysqli_query($con,"SELECT day FROM time_slot ORDER BY day;"); 

while($row=mysqli_fetch_array($result)) 
{ 
    $days = array("Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"); 
    $day = $row['day']-1; 
    $day = $days[$day]; 
    echo '<th>'; 
    echo $day; 
    echo '</th>'; 
} 
echo "</tr>"; 
echo "</thead>"; 

require('../includes/connection.php'); 

$result=mysqli_query($con,"SELECT * FROM time_slot ORDER BY day DESC;"); 

while($row=mysqli_fetch_array($result)) 
{ 
    echo "<tbody>"; 
    echo "<tr>"; 

テーブル内の縦方向に、データベースからのデータのこの部分は、デイ表示データ

私はテーブル内の日に対して垂直にタイムスロットを表示したい
//This code to split time into intervals 

    $starttime = $row['start_time']; // your start time 
    $endtime = $row['end_time']; // End time 
    $duration = $row['slot_time']; 

    $array_of_time = array(); 
    $start_time = strtotime ($starttime); //change to strtotime 
    $end_time  = strtotime ($endtime); //change to strtotime 

    $add_mins = $duration * 60; 

    while ($start_time <= $end_time) // loop between time 
    { 
     echo '<td>'; 
     echo "<div align=\"center\">"; 
     print_r(date ("h:i", $start_time) ."-". date("h:i", $start_time += $add_mins)); 
     // 
     echo "</br><input type=\"radio\" name=\"texi\" value=\"1\" ></input>"; 
     echo '</td>' ; 
     echo '</div>'; 
    } 
    echo "</tr>"; 
    echo "</tbody>"; 
}    

mysqli_close($con); 

echo "</table> 
     </div> 
     <input type=\"submit\" value=\"Book Slot\" class=\"button_drop\"> 
     </form>"; 
?> 

に関してテーブル内に垂直に表示されなければなりません。 これは、このコードの出力です:

Output

は、しかし、私は縦に表示されるべき水平に表示された時刻を表示します。例えば。最初の行の1-3、3-5、5-7は月曜日の下に表示し、次の行は火曜日の下に表示します。このようなクエリを使用して

答えて

1

試してみてください。

SELECT day FROM time_slot ORDER BY time_slot, day; 

加工が容易ために、データを取得する必要があります。私はあなたの正確なデータ構造を見ることができませんが、あなたは7x 01:00-03:00、次に7x 03:00-05:00などを取得する必要があるように見えます。各セットは1日ごとにする必要があります。次に、あなたの<td>を、データがDBから来る順に書き出すことができます。 dayの値が変更されたとき(または最大7までカウント)を追跡し、その時点で新しい<tr>を開始します。