週5時間、週5日、週5時間、教師5時間、クラス5時間の学生タイムテーブルを作成したいと思います。私はすべてを完了しましたが、私が直面している問題は、特定の1日(月曜日はクラスがないものとします)にデータが挿入されておらず、火曜日のデータを挿入している場合です。その後、火曜日のデータが月曜日に表示されます。ここで PHPでタイムテーブルを作成するには
は、一部の画像です:出力時刻表(ここではクラス・フィールドの時間は2 pm-3pmある日は木曜日です。しかし、それは金曜日に、10 am-11amに表示されています。)
マイ時刻表データベーステーブル
私は何行には存在しない場合に表示したいです1日のためにserted。その日のデータは、フロントエンドタイムテーブルに「No Class」と表示されます。 ここで私は私のロジックを配置しています:
<body>
<?php include 'sidenav.php';?>
<article>
<table border="2" style= "background-color: #84ed86; color: #761a9b; margin: 0 auto;" >
<tr>
<th><b>TIME</b></th>
<th><b>Monday</b></th>
<th><b>Tuesday</b></th>
<th><b>Wednesday</b></th>
<th><b>Thursday</b></th>
<th><b>Friday</b></th>
</tr>
<tbody>
<h1>Class Wise Time Table</h1>
<?php
error_reporting(1);
session_start();
if ((isset($_SESSION['login'])) && (isset($_REQUEST['cls']))) {
$classname = $_REQUEST['cls'];
$conn = mysqli_connect("localhost", "root", "", "finaltask");
$sql = "select DISTINCT (time) as time from time_table where classname = "."'$classname'";
$rest = mysqli_query($conn, $sql);
while($t = mysqli_fetch_assoc($rest)){
$sql = "select * from time_table where classname = "."'$classname'". " AND time = '".$t['time']."'";
//print_r($sql);exit;
$res = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($res)){
//echo '<pre>'; print_r ($row);
if(($row['day']=='Monday')&&($row['time']==$t['time'])){
echo"<tr> <td>{$row['time']}</td>";
if(($row['subject']==' ')&&($row['teacher']== ' ')){
echo "<td>No Class</td>";//die('');
}else{
echo "<td>".$row['subject']."<br>".$row['teacher']."</td>";
}
}
if(($row['day']=='Tuesday')&&($row['time'])){
if(($row['subject']=='')&&($row['teacher']=='')){
echo "<td>No Class</td>";
}else{
echo "<td>".$row['subject']."<br>".$row['teacher']."</td>";
}
}
if(($row['day']=='Wednesday')&&($row['time'])){
if(($row['subject']=='')&&($row['teacher']=='')){
echo "<td>No Class</td>";
}else{
echo "<td>".$row['subject']."<br>".$row['teacher']."</td>";
}
}
if(($row['day']=='Thurshday')&&($row['time'])){
if(($row['subject']=='')&&($row['teacher']=='')){
echo "<td>No Class</td>";
}else{
echo "<td>".$row['subject']."<br>".$row['teacher']."</td>";
}
}
if(($row['day']=='Friday')&&($row['time'])){
if(($row['subject']=='')&&($row['teacher']=='')){
echo "<td>No Class</td>";
}else{
echo "<td>".$row['subject']."<br>".$row['teacher']."</td></tr>";
}
}
}
}
}
?>
</tbody>
</table>
まず我々は、第二のものは、あなたがデータベースから行を表示するには、whileループを使用している場合、データベースにデータを格納しているかわからないので、何が起こりますかあなたのデータベースから取得したデータをphpが印刷して、単純に印刷します。 mondayがチェックされていないか選択されていない場合は、他の日と一緒にデータベースにmondayの値を格納しなければなりません。データベースはまたmondayをデータに与え、その特定の日にクラスがあるかどうかを "No"ない。だから選択されていなくてもmondayを保存して、値を 'no'または' 0'にして閉じたものとして識別してください。 –
ありがとうArsh Singh!応答するため。実際に私はこのポストに自分のデータベーステーブルイメージを添付しています。そのイメージでは、私はどのようにデータを保存しているのかを見ることができます。ところで、私はすべてを動的に格納しています。 –
私の答えを見てください –