以下のコードで、データベースに製品が100個あり、その製品名を縦横10×10で表示させるにはどうすればよろしいでしょうか?ご教授のほどよろしくお願いいたします。
php
1<?php 2// データベース情報 3$sv = 'xxx'; // サーバー名 4$db = 'db'; // データベース名 5$uid = 'xxx'; // ユーザー名 6$pwd = 'xxx'; // パスワード 7 8// データベースに接続します 9try { 10 $db = new PDO('mysql:host='.$sv.'; dbname='.$db, $uid, $pwd); 11 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 12 $db->exec('SET NAMES utf8'); 13} catch(PDOException $e) { 14 die('Connection failed: '.$e->getMessage()); 15} 16$now = date('Y-m-d'); 17// 商品テーブルのデータを取得します 18$sth = $db->prepare("SELECT COUNT(product_name) FROM tbl"); 19$sth->execute(); 20 $row = $sth->fetch(PDO::FETCH_ASSOC); 21?> 22 23<?php 24$pdo = new PDO("mysql:host=xxx; dbname=db; charset=utf8", "xxx", "xxx", array( PDO::ATTR_EMULATE_PREPARES => false ) ); 25 26 $statement = $pdo->prepare( "select * from tbl " ); 27 $statement->execute( ); 28 $results = $statement->fetchAll(); 29?> 30 31<table> 32<?php 33foreach ($results as $result) { 34?> 35 36<?php 37$count = $row['COUNT(*)']; 38for($count=0; $count<100; $count++){ 39if($count % 10 == 0){ 40print'<tr>'; 41} 42} 43?> 44 45<?php print( htmlspecialchars( $result["product_name"], ENT_QUOTES ) ); ?> 46 47<?php 48for($count=0; $count<100; $count++){ 49if($count % 10 == 0){ 50print'</tr>'; 51} 52} 53 54} 55} 56?> 57</table>
カタカナを半角で書くのは止めませんか?
教授 → 教示
ご教授頂きありがとうございます。
現在のコードにおける問題点はなんなのでしょうか。
コードだけ投げられても単なるデバッグ依頼です。
あとご存知かとは思いますが、質問は編集できますので。
イメージですが、forループを使って10個目に</tr>をかませて、次の行に改行させるのではないかと思っています。初心者なので質問が拙くて申し訳ございません。
質問は編集できますので。
(2回目)現在のコードにおける問題点はなんなのでしょうか。
コードだけ投げられても単なるデバッグ依頼です。
あと半角カナの件とか。
ほとんど編集前と変わってないのでは。
まあ…別に解決したくないのでしたら構わないですけど…。
>Orlofsky 2019/12/29 15:27 教授 → 教示
って書いたのに、
>alkeran 2019/12/29 15:30 ご教授頂きありがとうございます。
日本語を理解できていないし、ググってっもいないのでしょうね。
帰国子女か学習障害か外国人か、単に頑ななだけか、
返事がないので
>まあ…別に解決したくないのでしたら構わないですけど…。
と判断します。
都内のどこだったか、プログラムコードを含むすべてのドキュメントの英数字はシングルバイト文字で、カタカナはマルチバイト文字で書きなさい、ってごく普通のルールがあったのにも関わらず、ドキュメントやプログラム中のコメントで英数字はシングルバイト・マルチバイト混在で、カタカナはシングルバイト文字で書く主義、って人がいて、何人にも注意されても改めず、数日で契約を切られた人がいたのを思い出します。
回答1件
あなたの回答
tips
プレビュー