• 締切済み

MySQLのクエリ結果を繰り返し表示

MySQLとPHPで困っています。 MySQLでクエリした結果をテーブルに繰り返し表示したいと思っています。 今まではただ横一列に並べるもしくは、縦一列に並べるしかやったことがありませんでした。 下記のような感じ while($row=mysql_fetch_array($rs)){ $a = $row["id"]; echo $id<br>; } しかし今回は、横4列に並べ、5以上ある場合は数に応じて改行を行いたいのです。 (横4列は例であり、何列でも改行<tr>が伴うようなものなら構いません) □■△▲ ▽▼×○ ◎● のように。 forを使いながらいろいろと試してみましたが、何度やってもうまくいきません。 MySQLからクエリされた行総数($sum)として、変数($a)を使い、 $a<$sum $a = 0; 処理($a%4 == 3)余りが3の場合改行などなど $a++; いろいろと試しているうちに無限ループ突入など困り果ててしまいました。 どなたか、ご教示くださいますようお願いいたします。

みんなの回答

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

MySQLよりは、phpのプログラミング技術の問題ですね。 ループカウンターの使い方が判ってないように見受けます。 >$a = 0; >処理($a%4 == 3)余りが3の場合改行などなど >$a++; もしかして、初期化まで、ループ内で実行してますか? 以下の構造にしないと、$a はループカウンターの役割になりませんよ。 $a = 0; // 初期化 while(条件&データ取得){ データのみ出力 if($a%4 == 3){余りが3の場合改行出力} $a++; } if($a%4 != 0 ){最後の改行出力}