1

我创建了一个 mysql 数据库,其中包含有关电影的信息以及它们在电影院播放的时间。现在,我对此很陌生,想知道用数据库中的内容制作 html 表的最佳方法是什么,例如:

<table>
    <thead>
        <tr><th colspan="5">Programma</th></tr>
    </thead>
    <tbody>
        <tr>
            <td style="opacity:1">MovieName</td>
            <td>14u00</td>
            <td>17u00</td>
            <td>20u00</td>
            <td>22u30</td>
        </tr>
        <tr>
            <td style="opacity:1">MovieName</td>
            <td>14u00</td>
            <td>17u00</td>
            <td>20u00</td>
            <td>22u30</td>
        </tr>
    </tbody>
</table>

我希望包含小时的单元格仅在该小时在数据库中时才可见。我知道如何与数据库建立连接,但我不确定在哪里实现 php 代码以及如何使单元格仅在该电影的数据库中提及时才可见。提前致谢。

4

3 回答 3

2

这取决于您如何在表中保存数据。我假设您有两个表,分别称为“电影”和“放映时间”

电影
==============
编号 | 电影
-------------
1 | 电影 1
2 | 电影 2
3 | 电影 3
___________________________________

放映时间
====================================
编号 | 电影ID | 开演时间
----------------------------------
1 | 1 | 上午 9 点至下午 12 点
2 | 2 | 中午 12 点至下午 3 点
3 | 1 | 下午 3 点至下午 6 点
4 | 2 | 早上 6 点 - 晚上 9 点
5 | 1 | 上午 9 点 - 上午 12 点
___________________________________
  $sql = 'SELECT m.movie, group_concat(s.showtime) FROM movies m left join showtimes s on m.id=s.movie_id group by m.movie';
  $rs = mysql_query($rs);
  if($rs){

echo '<table>
       <thead>
          <tr><th colspan="5">Programma</th></tr>
       </thead>
       <tbody>';

 while($row = mysql_fetch_object($rs)) {
      echo '<tr>
            <td style="opacity:1">'.$row->movie.'</td>';

      $showtimes = explode(',', $row->showtime);
      if($showtimes) {
         foreach($showtimes as $showtime) {    
             echo '<td>'.$showtime.'</td>';
         }
      }
      echo '</tr>';    
 }

 echo '</tbody>
       </table>';

}

于 2013-05-16T14:26:54.263 回答
1

尝试使用 foreach 循环并在其中为每条记录创建一个新的表格行,并为记录中的每个属性创建一个表格列

foreach($resultset as $row)
{
    echo "<tr>"
    echo "<td>" . $row['value'] . "</td>"
    echo "</tr>"
}
于 2013-05-16T14:05:18.993 回答
1

您想要的是使用嵌套的 foreach,适用于任何二维数组

echo "<table>";
foreach($rows as $row){
    echo "<tr>";
    foreach ($row as $fieldName=>$field){
        echo "<td>",$field, "</td>";
    }
    echo "</tr>";
}
echo "</table>";
于 2013-05-16T14:22:13.710 回答