![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
http://okwave.jp/qa2460708.html
と同じようなテーブル構造で、同じようなhtmlへの書き出しを行っています。
No.1さんの回答の下記のスクリプトを参考にし、うまく表示することができました。
$sql="SELECT `ID`,`SHOPNAME` FROM `SHOP`";
$res = mysql_query($sql,$link);
while ($rows = mysql_fetch_assoc($res)) {
$SHOP[$rows["ID"]]=$rows["SHOPNAME"];
}
$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]="";
}
}
$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></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</td>";
foreach($ITEM as $key2=>$val2){
print "<td>{$LINK[$key1][$key2]}</td>";
}
print "</tr>";
}
print<<<eof
</tbody>
</table>
eof;
しかし、下記のテーブルに項目が1つ追加され、それも表示できるようにして欲しいと依頼されました。
Table:SHOP
ID SHOPNAME STATION
------------------------
1 東京 | 表参道
2 大阪 | 梅田
3 福岡 | 天神
(略)
結果としては下記のように表示したいです。
NAME |STATION|化粧品|家具 |園芸 |食品 |家電 |
------------------------------------------------
東京 | 表参道| | | | ○ | |
大阪 | 梅田 | | | | | ○ |
福岡 | 天神 | ○ | ○ | | | |
(略)
配列をよく理解できていないため、スクリプトをそのまま真似して
$STATION[$rows["ID"]]=$rows["STATION"];
を作ったり
$SHOP[$rows["ID"]][$rows["STATION"]]=$rows["SHOPNAME"];
を作ったりして無理矢理展開してみようとしましたが
やはり表がぐちゃぐちゃになってしまいます。
どうすればうまく表示できるか、アドバイス頂けませんでしょうか。
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]="";
}
}
$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></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;
はじめまして。
回答ありがとうございます!
無事依頼どおりのデータを表示することができました。
わかっているようでわかっていなかった、多次元配列の考え方を実感することができて感激です。
ほんとうに助かりました!!ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL `picture` varchar(255) のコマンドで間違いないでしょうか? 1 2022/11/21 04:08
- その他(プログラミング・Web制作) pythonリストの特定の値を表示htmlで表示できない 2 2022/05/14 05:48
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP クエリObjectをforeachで回す時に、次のレコードへ移動せずに次のレコードを取得したい 2 2022/07/28 15:29
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- PHP Q&Aサイトを作成していてURLの生成方法について迷っているのでアドバイスお願い致します 1 2023/08/10 16:42
- PHP コメント機能に返信欄を矢印で追加したい 1 2022/05/09 21:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPについて。
-
PHPからCSVをアップロード後、m...
-
phpのheader("Location:#pos")...
-
PHPで入力フォームでデータを確...
-
phpでcookieがうまく保存されない
-
PHPのエラーの解消法について教...
-
アンドロイドスマホでのphp ech...
-
phpのクラスメソッドの定義が長...
-
phpでクラスのメソッドで同名の...
-
ファイルアップロードに関して...
-
php に関して質問です。 各ユー...
-
[php初心者]サイトを見てデータ...
-
phpに関わる所での、form actio...
-
ゆゆにゃ。
-
【初心者】XAMPPのapacheの(恐...
-
プログラミング言語で、使える...
-
こちらはただの直列処理ですか?
-
PHPでこのコード自体に意味は無...
-
PHPとHTML+Xamppの掲示板で画像...
-
phpでPEAR::DBを使っているので...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpのエラーについてです
-
テーブルに入っているデータと...
-
sqlから多次元配列に要素を格納...
-
PHPで絞り込み検索結果の件数を...
-
MySQLのデータを使ってプルダウ...
-
XAMMPが起動しません。
-
mysql_fetch_objectのエラー
-
mysql_resultのエラー
-
CSVをダウンロードさせた際、CS...
-
stringaddslashes 半角¥が消える
-
「mysqlclient」の事が分からな...
-
XAMPPで画面が真っ白になります。
-
会員登録したらメールが送られ...
-
PHP+mysqlでSQL文に文字数制限...
-
変数同士の引き算が出来ない
-
連想二次元配列のUNIXTIMEでの...
-
PHP/MySQL SQLエラーについて。
-
PHPでMySQLのレコードを削除したい
-
すいません。
-
インクルードによる不具合
おすすめ情報