- ベストアンサー
九九の課題の件です
お願いいたします。 現在、PHPで九九の表をます目つきのテーブル上で作成しています。 途中まで試行錯誤したコードを載せます。 アドバイスお願いいたします。 <?php print"<table>"; print"<body>"; for($i=0; $i<=9; $i++){ print"<tr>"; for($j=0; $j<=9; $j++){ print($i*$j); } print"</tr>"; } print"</body>"; print"</table>"; ?>
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
どうして、新しいトピックをたてたのかな・・? PHPの課題のようなので、その部分はおいておいて、 HTML部分の書き方がわかっていないみたいですね。 <HTML> <BODY> <TABLE> <TR> ←1個目 <TD>データ1</TD><TD>データ2</TD>・・・・<TD>データ9</TD> </TR> <TR> ←2個目 <TD>データ1</TD><TD>データ2</TD>・・・・<TD>データ9</TD> </TR> : <TR> ←9個目 <TD>データ1</TD><TD>データ2</TD>・・・・<TD>データ9</TD> </TR> </TABLE> </BODY> </HTML> です。 あなたのソースでは順番がむちゃくちゃです。 <BODY>タグは1個しか出てきてはいけません。 <TABLE>タグの中に行数分の<TR>タグが出てきます。 <TR>タグの中に、カラム数分の<TD>タグが出てきます。 <TD>タグの中に実際に出力したいデータを書きます。
その他の回答 (3)
- ham_kamo
- ベストアンサー率55% (659/1197)
No.1です。 「ます目つきのテーブル」なのですね。 それなら<table>ではなく<table border=1>のようにしないと、枠線は出ません。
お礼
ham_kamo様 ご返答ありがとうございました。 参考にさせていただきます。 kasikoi-hでした。
- karumakaruma
- ベストアンサー率65% (65/100)
HTML構造自体の問題ですね。 単純な構造だと <html> <body> <table> <tr> <td>aaa</td> <td>bbb</td> </tr> <tr> <td>AAA</td> <td>BBB</td> </tr> </table> </body> </html> という様になります。 ですので print"<table>"; print"<body>"; の部分と print"</body>"; print"</table>"; の部分は、bodyとtableをそれぞれ入れ替え print"<body>"; print"<table>"; の部分と print"</table>"; print"</body>"; となります。 #もしや、<tbody>の事?? 次に print($i*$j); の部分を print "<td>" . ($i*$j) . "</td>\n"; に変更 もう一つ for($i=0;$i<=9;$i++){ for($j=0;$j<=9;$j++){ これらは、0~9までループするので for($i=1;$i<=9;$i++){ for($j=1;$j<=9;$j++){ と1~9までループする様に変更しましょう。
お礼
karumakaruma様 ご返答ありがとうございました。 とても丁寧に解説の方をしていただきまして、 とても参考になりました。 機会がありましたら、またよろしくお願いいたします。 kasikoi-hでした。
- ham_kamo
- ベストアンサー率55% (659/1197)
非常にいいところまでいっていますが、<td>タグがありませんね。<td>タグについて調べてみれば、すぐに解決するでしょう。 ちなみに<table>タグと<body>タグの順番が反対ですね。 <body>~</body>の中に表示させる部分が入るので、<table>タグもその中に入れなければなりません。
お礼
ham_kamo様 ご返答ありがとうございました。 kasikoi-h
お礼
PED02744様 何度も、ご返答ありがとうございました。 自分はまだ、PHPを初めてまだまもないから・・・ ということで少し甘い考えでいました。 すみませんでした。 PED02744様に一番初めにご返答いただけなかたら 自分で考える努力をしなかったかもしれません。 今後とも、機会がありましたらよろしくおねがいします。 kasikoi-hでした。