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

テーブルにデータを保存する方法によって異なります。「movies」と「showtimes」という 2 つのテーブルがあるとします。

映画
=============
ID | 映画
-------------
1 | ムービー 1
2 | ムービー 2
3 | ムービー 3
____________________________________

上映時間
===================================
ID | ムービー 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 に答える