[お題にTRY] 九九の表示 #php

2020年5月30日

PHP テクノロジー プログラミング 特集

eyecatch 何か失敗した時に、「失敗は成長の元」を、言い続ける、ユゲタです。 今回のお題第2回目は、phpでの九九表示です。 javascriptと違って、サーバーサイド処理なので、さほど多くのパターンがあるわけではないのですが、 しっかりと、コーディングしてみたいと思います。

本日のIT謎掛け

「サーバーサイドスクリプト」と、かけまして・・・ 「公共ラジオ放送」と、ときます。 そのココロは・・・ リクエストによって評価されます。

tableタグで表示

まずは、普通にtableタグで九九を表示してみます。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>kukku-php</title> <style> table{ border-collapse:collapse; } th,td{ border:1px solid black; padding:2px 4px; text-align:center; font-size:12px; } </style> </head> <body> <table> <?php for($i=1; $i<=9; $i++){ echo "<tr>"; for($j=1; $j<=9; $j++){ echo "<td>"; echo "$j × $i = ".($j*$i); echo "</td>"; } echo "</tr>".PHP_EOL; } ?> </table> </body> </html>

見出しをつける

九九には見出しが必要なので、見出しを追加。 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>kukku-php</title> <style> table{ border-collapse:collapse; } th,td{ border:1px solid black; padding:2px 4px; text-align:center; font-size:12px; } th{ background-color:#ccc; min-width:30px; } </style> </head> <body> <table> <?php echo "<tr>"; for($i=0; $i<=9; $i++){ if($i > 0){ echo "<th>$i</th>"; } else{ echo "<th></th>"; } } echo "</tr>".PHP_EOL; for($i=1; $i<=9; $i++){ echo "<tr>"; echo "<th>$i</th>"; for($j=1; $j<=9; $j++){ echo "<td>"; echo "$j × $i = ".($j*$i); echo "</td>"; } echo "</tr>".PHP_EOL; } ?> </table> </body> </html>

値を入力して反映

javascriptでは動的に行えましたが、phpはsubmitをしてページ切り替えで入力値を反映させます。 <?php $_POST["x"] = isset($_POST["x"]) ? $_POST["x"] : 9; $_POST["y"] = isset($_POST["y"]) ? $_POST["y"] : 9; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>kukku-php</title> <style> table{ border-collapse:collapse; } th,td{ border:1px solid black; padding:2px 4px; text-align:center; font-size:12px; } th{ background-color:#ccc; min-width:30px; } input{ width:30px; padding:2px 4px; border:1px solid #ccc; border-radius:4px; margin:4px; } button{ width:60px; padding:2px 4px; border:1px solid #ccc; border-radius:4px; background-color:#eee; margin:4px; } </style> </head> <body> <table> <form method="post" action="003.php"> <input type="text" name="x" value="<?php echo $_POST["x"] ?>"> <span> × </span> <input type="text" name="y" value="<?php echo $_POST["y"] ?>"> <button type="submit">更新</button> </form> <hr> <?php echo "<tr>"; for($i=0; $i<=$_POST["x"]; $i++){ if($i > 0){ echo "<th>$i</th>"; } else{ echo "<th></th>"; } } echo "</tr>".PHP_EOL; for($i=1; $i<=$_POST["y"]; $i++){ echo "<tr>"; echo "<th>$i</th>"; for($j=1; $j<=$_POST["x"]; $j++){ echo "<td>"; echo "$j × $i = ".($j*$i); echo "</td>"; } echo "</tr>".PHP_EOL; } ?> </table> </body> </html>  
リクエストクエリ情報を参照する為に、ソースの上部で、取得するようにしています。 同時にデフォルト値もセットする必要があるので、この部分で行います。 $_POST["x"]と$_POST["y"]は、縦軸、横軸なのですが、見出しも含めて、for文でどちらを使うかを迷わないようにしましょう。 ホームページでこうした処理をしたい時は、javascriptの方がスッキリできて便利だという事が分かりますね。 でもとりあえず、お題に対するphpでのやり方です。

人気の投稿

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。

ブログ アーカイブ