【问题标题】:PHP page that return data into database MYSQL将数据返回到数据库 MYSQL 的 PHP 页面
【发布时间】: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 我已经编辑了我的问题对不起

标签: php mysql


【解决方案1】:

我不会证明你的数据库设计或编码很差,在最好的情况下,你的整个目的将/应该需要一个查询。据我了解,根据您的问题,您需要一个可以提取一周(或..)数据的查询。像这样修改您的查询

$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 between \"2015-04-26\" AND \"2015-04-30\" ";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 2014-08-06
    相关资源
    最近更新 更多