【发布时间】:2015-04-15 19:50:09
【问题描述】:
在另一个问题中,我询问了如何为特定请求开发自定义数据库,该数据库现在已包含数据-
所以,现在我正在尝试开发一个简单的php页面,问题是我不知道如何正确显示一些数据。
现在我有了一个代表工作班次列表的结构。
每天分为四个部分:
夜间(24.00 - 08:00)
上午(08.00 - 14.00)
下午(14:00 - 20:00)
晚上(20.00 - 24.00)
每个轮次(晚上或早上或下午或晚上)一个或最多三个工人可以决定参与。
例如:
日期:13/04/15
夜晚:人 a ,人 b,人 c
早上:d人、e人、f人
现在我需要一个代表数据库中数据的页面,特别是每周轮班的表示
我会显示这样的页面:
实际上我写了这段代码,它返回(显然)某个日期的变化:
<?php
mysql_set_charset('utf8');
date_default_timezone_set('Europe/Rome');
$today_is = date("Y-m-d");
$listaN = array();
$queryN = "SELECT cognome, ruolo, orario, data FROM Composto, Militi, Turni WHERE (Composto.id_milite = Militi.id_milite AND Composto.id_turno = Turni.id_turno AND orario =\"Notte\" AND data = \"2015-04-26\")";
$result = mysql_query($queryN);
$num = mysql_num_rows($result);
if ($num != 0) {
while ($row = mysql_fetch_assoc($result)) {
array_push($listaN, $row);
}
}
$autista = "";
$milite = "";
$tirocinante = "";
foreach($listaN as $i){
$giorno = $i['data'];
if ($i['ruolo'] == "Autista"){
$autista= $i['cognome'];
}else if($i['ruolo'] == "Milite"){
$milite= $i['cognome'];
}else{
$tirocinante= $i['cognome'];
}
}
print("
<table border=\"1\">
<tr>
<td rowspan=\"6\">
".$giorno."
</td>
<td>
Orario
</td>
<td>
Autista
</td>
<td>
Milite
</td>
<td>
Tirocinante
</td>
</tr>
<tr>
<td>
00.00 - 08.00
</td>
<td>
".$autista."
</td>
<td>
".$milite."
</td>
<td>
".$tirocinante."
</td>
</tr>
");
$listaM = array();
$queryM = "SELECT cognome, ruolo, orario,data FROM Composto, Militi, Turni WHERE (Composto.id_milite = Militi.id_milite AND Composto.id_turno = Turni.id_turno AND orario =\"Mattino\"AND data = \"2015-04-26\")";
$result = mysql_query($queryM);
$num = mysql_num_rows($result);
if ($num != 0) {
while ($row = mysql_fetch_assoc($result)) {
array_push($listaM, $row);
}
}
$autista = "";
$milite = "";
$tirocinante = "";
foreach($listaM as $i){
if ($i['ruolo'] == "Autista"){
$autista= $i['cognome'];
}else if($i['ruolo'] == "Milite"){
$milite= $i['cognome'];
}else{
$tirocinante= $i['cognome'];
}
}
print("
<tr>
<tr>
<td>
08.00 - 14.00
</td>
<td>
".$autista."
</td>
<td>
".$milite."
</td>
<td>
".$tirocinante."
</td>
</tr>
");
$listaP = array();
$queryP = "SELECT cognome, ruolo, orario,data FROM Composto, Militi, Turni WHERE (Composto.id_milite = Militi.id_milite AND Composto.id_turno = Turni.id_turno AND orario =\"Pomeriggio\"AND data = \"2015-04-26\")";
$result = mysql_query($queryP);
$num = mysql_num_rows($result);
if ($num != 0) {
while ($row = mysql_fetch_assoc($result)) {
array_push($listaP, $row);
}
}
$autista = "";
$milite = "";
$tirocinante = "";
foreach($listaP as $i){
if ($i['ruolo'] == "Autista"){
$autista= $i['cognome'];
}else if($i['ruolo'] == "Milite"){
$milite= $i['cognome'];
}else{
$tirocinante= $i['cognome'];
}
}
print("
<tr>
<td>
14.00 - 20.00
</td>
<td>
".$autista."
</td>
<td>
".$milite."
</td>
<td>
".$tirocinante."
</td>
</tr>
");
$listaS = array();
$queryS = "SELECT cognome, ruolo, orario,data FROM Composto, Militi, Turni WHERE (Composto.id_milite = Militi.id_milite AND Composto.id_turno = Turni.id_turno AND orario =\"Sera\"AND data = \"2015-04-26\")";
$result = mysql_query($queryS);
$num = mysql_num_rows($result);
if ($num != 0) {
while ($row = mysql_fetch_assoc($result)) {
array_push($listaS, $row);
}
}
foreach($listaS as $i){
if ($i['ruolo'] == "Autista"){
$autista= $i['cognome'];
}else if($i['ruolo'] == "Milite"){
$milite= $i['cognome'];
}else{
$tirocinante= $i['cognome'];
}
}
print("
<tr>
<td>
20.00 - 24.00
</td>
<td>
".$autista."
</td>
<td>
".$milite."
</td>
<td>
".$tirocinante."
</td>
</tr>
");
?>
现在的问题是:如何修改此代码并正确返回数据? 我需要一个页面,其中包含从周一到周日当周所有工作班次的视图。
我希望我有机会通过按下按钮在接下来的几周里看到
*********** 编辑 1 *********** 实际上这个页面只返回某个数据中的数据,在这种情况下是 2015-04-26,我想要的是每周表示,我不知道如何从 db 获取数据并表示它......
数据库是这样的:
【问题讨论】:
-
“我怎样才能修改这段代码并正确返回数据?” - 你说的正确是什么意思?你到底想要什么帮助?设计桌子还是?
-
@Epodax 我已经编辑了我的问题对不起