次の様な処理を行いたいのですが方法をご教授下さい。
DBのテーブルに10個のレコードがあります。
すべてのレコードの情報を表示させます。
HTMLのテーブルは2列5行で表示させたい。
つまりHTMLで下記のように表示したい。
<TABLE>
<TR>
<TD>データ1</TD>
<TD>データ2</TD>
<TD>データ3</TD>
<TD>データ4</TD>
<TD>データ5</TD>
</TR>
<TR>
<TD>データ6</TD>
<TD>データ7</TD>
<TD>データ8</TD>
<TD>データ9</TD>
<TD>データ10</TD>
</TR>
</TABLE>
これをPHPで
<?
$con = mysql_connect("$dbhost", "$dbuser", "$dbpass");
mysql_select_db("$dbname");
$sql= "select * from DB_name";
$rs=mysql_query($sql);
?>
<TABLE>
<TR>
<? while($row=mysql_fetch_array($rs)){ ?>
<td><? echo $row['data'] ?></td>
<?}?>
</tr>
</table>
のように単純にデータを取り出すことは出来るのですが、
データを5つ毎に</TR><TR>を出す方法が分かりません。
このような処理は皆様はどのように行っていますか。
基本的な質問で申し訳ありませんが、ご教授下さい。
よろしくお願い致します。
No.4
- 回答日時:
とりあえず下のスクリプトをtest.php等の名前をつけて保存して
実行してみてください。
---------------------
<html>
<head>
<title>test</title>
</head>
<body >
<?php
print "<TABLE>";
for($i = 0;$i < 100;$i++){
if ( $i %5 ==0){
print "<TR>";
}
print "<TD>データ" . $i . "</TD>";
if ( $i %5 ==4){
print "</TR>";
}
}
print "</TABLE>";
?>
</body>
</html>
---------------------
実現したいことはこれをほんの少し応用すれば出来るかと思います。
頑張ってください。
No.3ベストアンサー
- 回答日時:
<? $i = 0; ?>
<? while($row=mysql_fetch_array($rs)){ ?>
<? $i++; ?>
<td><? echo $row['data'] ?></td>
<? if(($i % 5) == 0){ ?>
</tr>
<tr>
<? } ?>
<? } ?>
で、5個ずつ<tr>を挟むのはどうですか?
ご教授ありがとうございます。
この方法で実行したら希望通りの結果が出ました。
ただし、データが5の倍数個では無い時の処理が必要だと思うので自分なりに考えてみたいと思います。
大変参考になりました!
No.2
- 回答日時:
1.要素数10個の配列を定義する
2.配列の10個の要素をすべて空文字列で初期化する
3.配列の1番目の要素から順に、クエリから取り出したデータを配列に格納する。データが10個未満で尽きた場合は格納を中止する。また、データが11個以上ある場合に配列の要素数を超えないように10個格納したら格納を終了する。
4.「<TABLE>」から「</TABLE>」までを、以下のように固定パターンで一気に出力する
<TABLE>
<TR>
<TD><? echo $array[1] ?></TD>
<TD><? echo $array[2] ?></TD>
<TD><? echo $array[3] ?></TD>
<TD><? echo $array[4] ?></TD>
<TD><? echo $array[5] ?></TD>
</TR>
<TR>
<TD><? echo $array[6] ?></TD>
<TD><? echo $array[7] ?></TD>
<TD><? echo $array[8] ?></TD>
<TD><? echo $array[9] ?></TD>
<TD><? echo $array[10] ?></TD>
</TR>
</TABLE>
他にも、何個のデータを出力したかのカウンターを設けて、5個づつで「</TR><TR>」を出力するって手もありますが、データ総数が5の倍数個の時と、5の倍数個でない時に最後の処理が煩雑になり、処理が難しくなってしまいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- Perl PERL 1 2022/04/26 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルVBAについて
-
DBで検索結果に該当するデータ...
-
sortable ギブアップです…助け...
-
PHPで[]の使い方について
-
checkboxクリック時、SQLを実行...
-
dbに登録したデータをphpのプル...
-
PHPのプルダウンメニューにDBの...
-
チェックボックスから検索、PHP...
-
重複したフィールドに関して
-
アラートでyes noを作りたいです。
-
抽出結果に番号を振る方法につ...
-
データベースのページング出力...
-
実行時エラー3131 FROM 句の構...
-
VBAをつかってクエリの情報を抽...
-
php データ削除
-
Pro*Cの構文エラー
-
円マークが付加されて保存され...
-
MySQLでデータベースにデータin...
-
テキストボックスに入れた内容...
-
テーブルに入っているデータと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PHPで[]の使い方について
-
php テーブルが作成できない
-
dbに登録したデータをphpのプル...
-
アラートでyes noを作りたいです。
-
phpでmysqlを使ってデータベー...
-
DBで検索結果に該当するデータ...
-
文字化けが解決できません。お...
-
SELECT結果から動的にコンボボ...
-
checkboxクリック時、SQLを実行...
-
PHPでMySQLデータを呼び出し、w...
-
while文の中にwhile文を書きた...
-
sortable ギブアップです…助け...
-
重複レコードをグループ化した...
-
PHP と MySQL でテーブルの行数...
-
PHPでMySQLのデータを2次元配...
-
mysql>PHPにデータ表示、10件ご...
-
PHPについてなのですが未定義の...
-
VBA初心者です。
-
ラジオボタンをループすること...
-
PHP+MySQLでの配列のinsert文に...
おすすめ情報