dポイントプレゼントキャンペーン実施中!

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

A 回答 (7件)

>background-Color:#ffff00の部分を#0000ffに変更して色を変更したいのですが、できない



できると思いますが・・・

>行揃えを中央にする場合は、text-alignをcenterに変更すればできると思うのですが、できない

できると思いますが・・・

上記2点はあくまでcssの問題なので、もしかしたらブラウザの
設定の問題かもしれません。
    • good
    • 0
この回答へのお礼

一度ブラウザを閉じてもう一度実行したら、きちんと反映されました。
お騒がせしました。
テーブルに関しての理解がまだ弱いので、おしえて頂いた回答例を参考にさせて頂き、学習したいと思います。

お礼日時:2009/04/13 17:06

課題ではないということなので、単にテキストの羅列ではなく


テーブルにしてみてはどうでしょう?
その方が構造としても理解しやすいでしょう。

<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に変更すればできると思うのですが、できないのはどうしてでしょうか…。おしえて頂けると助かります。

補足日時:2009/04/13 14:47
    • good
    • 0
この回答へのお礼

テキストの羅列でなく、テーブルを用いるとこんな形になるんですね!
全くの初心者なので、とても感動しています!
ぜひ参考にさせて頂きます。
自分の作成したい最終形は外罫線を太線にし、縦横列(黄色の網掛けになっている箇所)をブルーにするのが最終型と考えています。

お礼日時:2009/04/13 14:28

ANo.3-4です。



> 「PHP 九九表」でググって見て調べてみたのですが、PHP、スタイルシートについてあまり理解できていなかったので、質問しました。

…全く同じキーワードでググって結果が違うとは思えないのですが。
私が先程「PHP 九九表」でググった結果ですが、リストのトップに上がってきたのは以下のサイトでしたよ?
【参考】http://biscuit.lovepop.jp/PHP/php_exercise01_kuk …

ここにはソースそのものから表示結果まで提供されているのみならず、九九をどうやって実現しているか、ループについてステップ毎にかなり細かく説明されています。文体や用語も平易で構成面の印象も、明らかに「初心者向け」を意識してあるコンテンツです。しかも、このサンプルでは”スタイルシート”は使用されていないので、「スタイルシートについてあまり理解できて」いない質問者様にも全く支障がない、うってつけのサンプルだと思うのですが?

とにかくここをご覧になってみては?これ以上のアドバイスは控えさせて頂きます。悪しからず。
    • good
    • 0
この回答へのお礼

参考サイトをおしえて頂きましてありがとうございます。
PHPでの九九表の表現に関しては、理解ができました。
後は、CSSを用いてフォント、罫線、などのスタイルを変更してみたいので、頑張ってみます。

お礼日時:2009/04/13 14:23

ANo.3です。



> 時間があるので触ったことのないPHPを自主的に学習しようと思いました。

そのお心掛けは大変前向きな事だと思うのですが、自主的に学習する為の第一段階はまず「自力で調べてみる」事ですよね。
それでどうしてもわからなければ「これこれこういう事を試してみたが、上手く行かない。」という事をできるだけ具体的に説明した上で「どこが間違っているからこういう事になるのだろうか?どこをどの様にすれば適切になるのだろうか?」というアドバイスを求めてこの様なQ&Aサイトを利用するのが筋道ではないかと、少なくとも私個人は思います。

今回の場合であれば、「PHP 九九表」のキーワードでググるぐらいの努力はされましたでしょうか?検索結果のトップからほぼどんぴしゃりのコンテンツが表示されると思うのですが…試してみて下さい。
    • good
    • 0
この回答へのお礼

「PHP 九九表」でググって見て調べてみたのですが、PHP、スタイルシートについてあまり理解できていなかったので、質問しました。
貴重なアドバイスありがとうございました。
自分で調べてみて、上手くいかない際にはまた質問すると思いますがよろしくお願いします。

お礼日時:2009/04/08 16:59

これは学校の課題か何かですか?私自身もPHPを勉強し始めた初期段階で繰り返し文を学ぶお題として九九表を作成したので、よく使われる素材なのだろうと想像できますので。


でも、そう(課題)であればそのまんま回答するわけにも行かないんですけれど…
そうでないならヒントぐらいは差し上げれるかと思いますが。

この回答への補足

学校の課題ではありません。
時間があるので触ったことのないPHPを自主的に学習しようと思いました。
回答を頂けたら頂いて、参考に学習しようと思っておりますのでよろしくお願いします。。。

補足日時:2009/04/08 15:28
    • good
    • 0

<?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

補足日時:2009/04/08 15:06
    • good
    • 0

<?php


print " | 1 2 3 4 5 6 7 8 9<br>";
print "-------------------------------";
print "1 | 1 2 3 4 5 6 7 8 9";
以下繰り返し...

?>

丸投げっぽいので、繰り返し文を使うという条件を考えずに書いてみました。

この回答への補足

※補足として、繰り返し文を使うという条件でお願い致します。

補足日時:2009/04/08 14:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!