- ベストアンサー
HTMLのテーブルにデータを流し込む際のレイアウト
度々、失礼させていただきます。なにぶん見よう見まねです。 「abc.csv」より条件(1)で抽出した後HTMLのテーブルに並べます。 但しこのままですとHTML上、右に伸びていってしまうので4つぐらいで 新しいテーブルに改行したいのですが、お力お貸しください。 <table> <tr> <td> <?php $Data=file("abc.csv"); for($i=0;$i<sizeof($Data);$i++){ $line=explode(",",$Data[$i]); if($line[0]=="0" && $line[1]=="1"){ //条件(1) print "<td><table><tr>\n" ; print "<td>{$line[2]}</td></tr>" ; print "<tr>" ; print "<td>{$line[4]}</td></tr>" ; print "</table></td>\n" ; } } ?> </td> </tr> </table>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
HTMLがおかしいのですが、それは別問題なのでスルーします。 if($line[0]=="0" && $line[1]=="1"){ //条件(1) #(略) $j++; if (!($j%4)) { print "</tr><tr>"; } とやればいいのではないかと思います。
その他の回答 (2)
- funaho
- ベストアンサー率58% (43/74)
こんな感じでどうでしょう。 <table> <tr> <?php $Data=file("abc.csv"); $j=0; for($i=0;$i<sizeof($Data);$i++){ $line=explode(",",$Data[$i]); if($line[0]=="0" && $line[1]=="1"){ //条件(1) if($j==4){ $j=0; print "</tr><tr>\n"; } print "<td><table><tr>\n"; print "<td>".$line[2]."</td></tr>"; print "<tr>"; print "<td>".$line[4]."</td></tr>"; print "</table></td>\n"; $j++; } } ?> </tr> </table>
お礼
ありがとうございました! この書き方もあるのですね。 勉強になりました。
- STICKY2006
- ベストアンサー率29% (1536/5269)
こんちくわ。 >>新しいテーブルに改行したいのですが の意味がイマイチ分かりませんが。。。 とりあえず、改行できりゃ問題ないと受け取ります。 「abc.csv」から抽出したものの文字数かバイト数のどちらかを調べて、何文字、もしくは何バイトかしたら改行。でやってやればいいかと。 PHPの知識は無いですが、関数で何かないですか? LenBとかLengthとか。。。
お礼
ありがとうございました! HTMLも直したらうまく動きました。