将数据返回到数据库 MYSQL 的 PHP 页面

标签 php mysql

在另一个问题中,我问过如何为特定请求开发自定义数据库,数据库现在已包含数据-

所以,现在我正在尝试开发一个简单的 php 页面,问题是我不知道如何才能正确显示一些数据。

现在我有一个表示工作类次列表的结构。

每天分为四个部分:

晚上(24.00 - 08:00)

早上(08.00 - 14.00)

下午(14.00 - 20.00)

晚上(20.00 - 24.00)

在每个回合(晚上或早上或中午或晚上),一名或最多三名 worker 可以决定参与。

例如:

日期:2015 年 4 月 13 日

晚上:a 人,b 人,c 人

早上:d 人,e 人,f 人

现在我需要一个页面来表示数据库中的数据,特别是轮类的每周表示

我会显示这样一个页面: enter image description here

实际上我写了这段代码,它返回(显然)某个日期的类次:

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


 ?>

现在的问题是:如何修改这段代码并正确返回数据? 我需要一个页面,其中包含本周所有工作轮类的 View ,从周一到周日。

我希望我有机会通过按下按钮也能看到接下来的几周

************ 编辑 1 *********** 实际上此页面仅返回特定数据中的数据,在本例中为 2015-04-26,我想要的是每周表示,我不知道如何从数据库中获取数据并表示它...

数据库是这样的:
List of entity

Detail of table "Composto"

Detail of "turni"

Detail of "Militi"

最佳答案

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

$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\" ";

关于将数据返回到数据库 MYSQL 的 PHP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648782/

相关文章:

php - 使用 php-cli 时出现 pg_connect 错误

php - 在 2 个 MySQL 表之间复制数据库表行的 Cron 作业

mysql - Laravel 迁移值从 null 到 string

php - 夏令时变化时,filemtime 可以与 strtotime 进行比较吗?

javascript - 使用 javascript 检查 URL 是否包含值

php - 如何在MySQL数据库中正确插入小数

php - 获取插入时默认的值

php - SonataAdmin - 找不到我要构建的自定义 block

MySQL:在数据类型为 varchar 的字段上应用 ORDER BY

mysql - 从内容提供者调用时光标抛出空指针