用php内容创建html表

时间:2013-05-16 14:03:13

标签: php html mysql

我创建了一个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代码以及如何在单元格中为该影片提及单元格时使单元格可见。提前谢谢。

3 个答案:

答案 0 :(得分:2)

这取决于您在表格中保存数据的方式。 我假设你有两个名为“电影”和“放映时间”的表

movies
=============
id | movie
-------------
1  | Movie 1
2  | Movie 2
3  | Movie 3
___________________________________

showtimes
===================================
id | movie_id | showtime
-----------------------------------
1  | 1        | 9.00 am - 12 pm 
2  | 2        | 12.00 pm - 3 pm
3  | 1        | 3.00 pm - 6 pm
4  | 2        | 6.00 am - 9.00 pm
5  | 1        | 9.00 am - 12.00 am
___________________________________
  $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>';

}

答案 1 :(得分:1)

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

foreach($resultset as $row)
{
    echo "<tr>"
    echo "<td>" . $row['value'] . "</td>"
    echo "</tr>"
}

答案 2 :(得分:1)

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

echo "<table>";
foreach($rows as $row){
    echo "<tr>";
    foreach ($row as $fieldName=>$field){
        echo "<td>",$field, "</td>";
    }
    echo "</tr>";
}
echo "</table>";