※ ChatGPTを利用し、要約された質問です(原文: for文の組み合わせ方 [2])
for文の組み合わせ方 [2]に関する質問
このQ&Aのポイント
前回のコメントを受けて、データを取得して行列に店名と商品を表示する方法を実装したが、「SHOPIDが変わったら改行」という処理がうまくいかない状況にある。
○を付ける処理をどのように実装すれば良いかわからない。
また、このPHPで作成された表をCSVに出力することは可能かどうか。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2460708
の関連質問になります。
最初に前回コメントいただけた方にお礼申し上げます。
前回お伺いした方法で、
$sql="SELECT ID,ITEMNAME FROM ITEM ORDER BY ID";
$msql="SELECT SHOPID,SHOPNAME,ITEMNAME,IF(L.ITEM=A.ITEMID,'○','') FROM
(SELECT I.ID AS ITEMID,S.ID AS SHOPID,SHOPNAME,ITEMNAME FROM ITEM I, SHOP S) AS A
LEFT OUTER JOIN LINK L ON L.ITEM = A.ITEMID
AND A.SHOPID = L.SHOP
ORDER BY SHOPID,ITEMID";
でデータを取得し、
下記で行列に店名と商品を表示する事ができました。
$in = mysql_query($sql,$db)
$in2 = mysql_query($msql,$db)
$ln = mysql_num_rows($in);
$ln2 = mysql_num_rows($in2);
print("<TABLE border=1>");
print("<TR>");
print("<TD>");
print("</TD>");
for($i=0;$i<$ln;$i++)
{
$lw = mysql_fetch_row($in);
print("<TD>".$lw[1]."</TD>");
}
print("</TR>");
print("<TR>");
for($i=0;$i<$ln2;$i++)
{
$lw2 = mysql_fetch_row($in2);
print("<TD>".$lw2[1]."</TD>");
//○を付ける処理
//print("<TD>".$lw2[3]."</TD>");
print("</TR>");
}
print("</TABLE>");
ただ「SHOPIDが変わったら改行」という処理方法がわからずの状態になっています。
IF文で○じゃなければ<TD></TD>を埋め込む?などと思いやってみましたが
やり方がおかしいのかうまくいっていません。
値の比較方法と、それをどのように組み込めばいいかコメントお願いします。
※併せてですが、この後このPHPで作成された表をCSVに出力したいのですが、可能でしょうか?
お礼
つながりにくい中コメントありがとうございます。 質問後ちょっと変更があり、別スレで改めて質問させていただくの でそちらでもよろしくお願いします。 ダウンロードの件・・・特に次回の質問にかかわってくるので 初心者な私に救いの手をお願いします。