2017-01-05 5 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>"; 

Dieser Teil der Daten sollte vertikal in Bezug auf DayAnzeigedaten aus der Datenbank vertikal in Tabelle

//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>"; 
?> 

Ich möchte in der Tabelle wird angezeigt Zeitschlitzen vertikal in Bezug auf Tag in der Tabelle zeigen. Dies ist die Ausgabe dieses Codes:

Output

Aber ich will Zeit anzuzeigen, die sich horizontal zeigt, die vertikal angezeigt werden soll. Z.B. 1-3, 3-5, 5-7 der ersten Zeile sollte unter dem Montag angezeigt werden, dann sollte die nächste Zeile unterhalb von Dienstag usw. angezeigt werden.

Antwort

1

versuchen, eine Abfrage wie folgt aus:

SELECT day FROM time_slot ORDER BY time_slot, day; 

, dass die Daten in einer leichter zu verarbeiten, erhalten sollte. Ich kann nicht Ihre genaue Datenstruktur sehen, aber es sieht so aus, als sollten Sie 7x 01:00-03:00, dann 7x 03:00-05:00 usw. bekommen. Jeder Satz sollte am Tag in Ordnung sein. Dann können Sie einfach Ihre <td> s in der Reihenfolge schreiben, in der die Daten aus der DB kommen. Verfolgen Sie, wann sich der Wert day ändert (oder zählen Sie einfach bis zu 7), und starten Sie zu diesem Zeitpunkt einen neuen <tr>.

Verwandte Themen