• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:foreachの表示に追加するには)

PHPで多次元配列を使ってテーブルを表示する方法

このQ&Aのポイント
  • PHPで多次元配列を使ってテーブルを表示する方法について教えてください。
  • テーブルのデータは、SHOPとITEMという2つの配列で管理しています。
  • 新しく追加された項目を表示するためには、SHOP配列にSTATION情報を追加する必要があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • explode
  • ベストアンサー率100% (6/6)
回答No.1

こんにちは。はじめまして。 ちょっと同環境を作ってやってみました。 コメントを参考にしていただければと思います。 $sql="SELECT `ID`,`SHOPNAME`, `STATION` FROM `SHOP`"; $res = mysql_query($sql,$link); while ($rows = mysql_fetch_assoc($res)) { // 多次元配列に格納する $SHOP[$rows["ID"]]['SHOPNAME']=$rows["SHOPNAME"]; $SHOP[$rows["ID"]]['STATION']=$rows["STATION"]; } $sql="SELECT `ID`,`ITEMNAME` FROM `ITEM`"; $res = mysql_query($sql,$link); while ($rows = mysql_fetch_assoc($res)) { $ITEM[$rows["ID"]]=$rows["ITEMNAME"]; } foreach($SHOP as $key1=>$val1){ foreach($ITEM as $key2=>$val2){ $LINK[$key1][$key2]="&nbsp;"; } } $sql="SELECT `SHOP`,`ITEM` FROM `LINK`"; $res = mysql_query($sql,$link); while ($rows = mysql_fetch_assoc($res)) { $LINK[$rows["SHOP"]][$rows["ITEM"]]="○"; } print<<<eof <table border> <thead> <tr> <th>&nbsp;</th> <th>STATION</th> eof; foreach($ITEM as $key2=>$val2){ print "<th>$val2</th>"; } print<<<eof </tr> </thead> <tbody> eof; foreach($SHOP as $key1=>$val1){ print "<tr>"; // ショップ名と駅名を表示する print "<td>$val1[SHOPNAME]</td><td>$val1[STATION]</td>"; foreach($ITEM as $key2=>$val2){ print "<td>{$LINK[$key1][$key2]}</td>"; } print "</tr>"; } print<<<eof </tbody> </table> eof;

quakeandb
質問者

お礼

はじめまして。 回答ありがとうございます! 無事依頼どおりのデータを表示することができました。 わかっているようでわかっていなかった、多次元配列の考え方を実感することができて感激です。 ほんとうに助かりました!!ありがとうございます。