- 締切済み
PHP 九九表
PHPで下記の九九表を作成したいのですが、どのようにソースを記述したらよいですか?全くの初心者なのでよろしくお願いします。 ※表が汚くてすいません。 | 1 2 3 4 5 6 7 8 9 ------------------------------- 1 | 1 2 3 4 5 6 7 8 9 2 | 2 4 6 81012141618 3 | 3 6 9 12 15 18 21 24 27 4 | 4 8 12 16 20 24 28 32 36 5 | 5 10 15 20 25 30 35 40 45 6 | 6 12 18 24 30 36 42 48 54 7 | 7 14 21 28 35 42 49 56 63 8 | 8 16 24 32 40 48 56 64 72 9 | 9 18 27 36 45 54 63 72 81
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
>background-Color:#ffff00の部分を#0000ffに変更して色を変更したいのですが、できない できると思いますが・・・ >行揃えを中央にする場合は、text-alignをcenterに変更すればできると思うのですが、できない できると思いますが・・・ 上記2点はあくまでcssの問題なので、もしかしたらブラウザの 設定の問題かもしれません。
- yambejp
- ベストアンサー率51% (3827/7415)
課題ではないということなので、単にテキストの羅列ではなく テーブルにしてみてはどうでしょう? その方が構造としても理解しやすいでしょう。 <style> #t0{ border-collapse:collapse; } #t0 td,#t0 th{ border:1px solid #000000; height:30px; width:30px; } #t0 td{ text-align:right; } #t0 th{ background-Color:#ffff00; } #t0 col{ width:30px; } </style> <? $thead=""; for($i=0;$i<=9;$i++){ if($i==0) $thead="<th> </th>"; else $thead.="<th>{$i}</th>"; } $thead="<thead>\n<tr>{$thead}</tr>\n</thead>"; $tbody=""; for($i=1;$i<=9;$i++){ $row=""; for($j=0;$j<=9;$j++){ if($j==0) $row="<th>{$i}</th>"; else $row.="<td>".$i*$j."</td>"; } $row="<tr>{$row}</tr>\n"; $tbody.=$row; } $tbody="<tbody>\n{$tbody}</tbody>"; print <<<eof <table id="t0"> {$thead} {$tbody} </table> eof; ?>
お礼
テキストの羅列でなく、テーブルを用いるとこんな形になるんですね! 全くの初心者なので、とても感動しています! ぜひ参考にさせて頂きます。 自分の作成したい最終形は外罫線を太線にし、縦横列(黄色の網掛けになっている箇所)をブルーにするのが最終型と考えています。
補足
※ちなみなんですが、background-Color:#ffff00の部分を#0000ffに変更して色を変更したいのですが、できないのですがどうしたらよいでしょうか?又、全体の数字の行揃えを中央にする場合は、text-alignをcenterに変更すればできると思うのですが、できないのはどうしてでしょうか…。おしえて頂けると助かります。
- abril
- ベストアンサー率69% (388/560)
ANo.3-4です。 > 「PHP 九九表」でググって見て調べてみたのですが、PHP、スタイルシートについてあまり理解できていなかったので、質問しました。 …全く同じキーワードでググって結果が違うとは思えないのですが。 私が先程「PHP 九九表」でググった結果ですが、リストのトップに上がってきたのは以下のサイトでしたよ? 【参考】http://biscuit.lovepop.jp/PHP/php_exercise01_kuku.php ここにはソースそのものから表示結果まで提供されているのみならず、九九をどうやって実現しているか、ループについてステップ毎にかなり細かく説明されています。文体や用語も平易で構成面の印象も、明らかに「初心者向け」を意識してあるコンテンツです。しかも、このサンプルでは”スタイルシート”は使用されていないので、「スタイルシートについてあまり理解できて」いない質問者様にも全く支障がない、うってつけのサンプルだと思うのですが? とにかくここをご覧になってみては?これ以上のアドバイスは控えさせて頂きます。悪しからず。
お礼
参考サイトをおしえて頂きましてありがとうございます。 PHPでの九九表の表現に関しては、理解ができました。 後は、CSSを用いてフォント、罫線、などのスタイルを変更してみたいので、頑張ってみます。
- abril
- ベストアンサー率69% (388/560)
ANo.3です。 > 時間があるので触ったことのないPHPを自主的に学習しようと思いました。 そのお心掛けは大変前向きな事だと思うのですが、自主的に学習する為の第一段階はまず「自力で調べてみる」事ですよね。 それでどうしてもわからなければ「これこれこういう事を試してみたが、上手く行かない。」という事をできるだけ具体的に説明した上で「どこが間違っているからこういう事になるのだろうか?どこをどの様にすれば適切になるのだろうか?」というアドバイスを求めてこの様なQ&Aサイトを利用するのが筋道ではないかと、少なくとも私個人は思います。 今回の場合であれば、「PHP 九九表」のキーワードでググるぐらいの努力はされましたでしょうか?検索結果のトップからほぼどんぴしゃりのコンテンツが表示されると思うのですが…試してみて下さい。
お礼
「PHP 九九表」でググって見て調べてみたのですが、PHP、スタイルシートについてあまり理解できていなかったので、質問しました。 貴重なアドバイスありがとうございました。 自分で調べてみて、上手くいかない際にはまた質問すると思いますがよろしくお願いします。
- abril
- ベストアンサー率69% (388/560)
これは学校の課題か何かですか?私自身もPHPを勉強し始めた初期段階で繰り返し文を学ぶお題として九九表を作成したので、よく使われる素材なのだろうと想像できますので。 でも、そう(課題)であればそのまんま回答するわけにも行かないんですけれど… そうでないならヒントぐらいは差し上げれるかと思いますが。
補足
学校の課題ではありません。 時間があるので触ったことのないPHPを自主的に学習しようと思いました。 回答を頂けたら頂いて、参考に学習しようと思っておりますのでよろしくお願いします。。。
- okg00
- ベストアンサー率39% (1322/3338)
<?php echo "1 |"; for ($i = 1; $i <= 9; $i++ ) { echo $i * 1; } echo "<br>"; echo "2 |"; for ($i = 1; $i <= 9; $i++ ) { echo $i * 2; } echo "<br>"; echo "3 |"; for ($i = 1; $i <= 9; $i++ ) { echo $i * 3; } echo "<br>"; 以下繰り返し ?> 繰り返し文を使った例を記載しました。 特に指定が無かったので2重ループは使用していません。 ※未チェックです。
補足
※何回もすいませんが、補足として、EXCELの表のように出力したいです。 その際に下記のように、左上(EXCELでいうと、A1のセルです。)は空欄にして出力したいです。 よろしくお願いします。 | 1 2 3 4 5 6 7 8 9 ------------------------------- 1 | 1 2 3 4 5 6 7 8 9 2 | 2 4 6 8 10 12 14 16 18 3 | 3 6 9 12 15 18 21 24 27 4 | 4 8 12 16 20 24 28 32 36 5 | 5 10 15 20 25 30 35 40 45 6 | 6 12 18 24 30 36 42 48 54 7 | 7 14 21 28 35 42 49 56 63 8 | 8 16 24 32 40 48 56 64 72 9 | 9 18 27 36 45 54 63 72 81
- okg00
- ベストアンサー率39% (1322/3338)
<?php print " | 1 2 3 4 5 6 7 8 9<br>"; print "-------------------------------"; print "1 | 1 2 3 4 5 6 7 8 9"; 以下繰り返し... ?> 丸投げっぽいので、繰り返し文を使うという条件を考えずに書いてみました。
補足
※補足として、繰り返し文を使うという条件でお願い致します。
お礼
一度ブラウザを閉じてもう一度実行したら、きちんと反映されました。 お騒がせしました。 テーブルに関しての理解がまだ弱いので、おしえて頂いた回答例を参考にさせて頂き、学習したいと思います。