文末のコードを実行すると、下記のような結果が得られますが、
番号 名前 性別
1 阿藤 男
2 江藤 男
3 加藤 女
4 木藤 女
5 工藤 男
行列を入れ替えた表をつくりにはどういうロジックになりますか。
番号 1 2 3 4 5
名前 阿藤 江藤 加藤 木藤 工藤
性別 男 男 女 女 女
おそらく、for文を改造するのでしょうが・・・
よろしくお願い致します。
<?php
$con = mysql_connect(SERVER, USER, PASS);
$selectdb = mysql_select_db(DB, $con);
$sql = "select * from mytable";
$rst = mysql_query($sql, $con);
$recmax = mysql_num_rows($rst);
$body = "<table border='1'><tr><th>番号</th><th>名前</th><th>年齢</th><tr>\n";
for ($i = 0; $i < $recmax; $i++) {
$col = mysql_fetch_array($rst);
$body .= "<tr>\n";
$body .= "<td>" . ($i + 1) . "</td>\n";
$body .= "<td>" . $col["name"] . "</td>\n";
$body .= "<td>" . $col["age"] . "</td>\n";
$body .= "</tr>\n";
}
$body .= "</table>\n";
mysql_free_result($rst);
$con = mysql_close($con);
?>
<HTML><BODY>
<?= $body ?>
</BODY></HTML>
No.3ベストアンサー
- 回答日時:
できるだけ、元をまねてかくとこんな感じかと。
// 番号、名前、年齢の配列を作る
for($i=0;$i<$recmax;$i++) {
$col = mysql_fetch_array($rst);
$no[$i] = $i + 1;
$name[$i] = $col["name"];
$age[$i] = $col["age"];
}
// 後はそれらをforeachで回す。
$body = "<table border='1'>\n";
// 番号
$body .= "<tr>\n";
$body .= "<td>番号</td>\n";
foreach($no as $val){
$body .= "<td>".$val."</td>\n";
}
$body .= "</tr>\n";
// 名前
$body .= "<tr>\n";
$body .= "<td>名前</td>\n";
foreach($name as $val){
$body .= "<td>".$val."</td>\n";
}
$body .= "</tr>\n";
// 年齢
$body .= "<tr>\n";
$body .= "<td>年齢</td>\n";
foreach($age as $val){
$body .= "<td>".$val."</td>\n";
}
$body .= "</tr>\n";
$body .= "</table>\n";
SNo0001さん、ご教示ありがとうございました。
元質問にあわせていただき、おかげさまで大変理解しやすいです。
foreachは配列をループ処理させるという漠然知識しか
なかったのですが使い方がよくわかりました・・・・
あと、今回は(番号、名前、年齢だけでなく)
forやforeach内に入れ子のforが入るので、
No1さんとNo2さん(SNo0001さん)のご回答で
使いやすい方を活用させていただきたいと思います。
No.2
- 回答日時:
こんな感じでやってみてはいかがですか?
<?PHP
$con = mysql_connect(SERVER, USER, PASS);
mysql_select_db(DB, $con);
$sql = "select * from mytable";
$res=mysql_query($sql);
$count=0;
while($rows = mysql_fetch_array($res,MYSQL_ASSOC)){
$count++;
$array['count'].="<td>{$count}</td>";
$array['name'] .="<td>{$rows['name']}</td>";
$array['sex'] .="<td>{$rows['sex']}</td>";
}
$table=<<<eof
<table border=1>
<tr>
<td>番号</td>
{$array['count']}
</tr>
<tr>
<td>名前</td>
{$array['name']}
</tr>
<tr>
<td>性別</td>
{$array['sex']}
</tr>
</table>
eof;
print $table;
?>
yamabejpさん、ご教示ありがとうございました。
バッチリ動作確認いたしました。
whileで次々と
問い合わせ結果を連想配列(MYSQL_ASSOC)に取り込んで
配列を形成し、一気に書き出すというわけですね。
大変参考になりました。ありがとうございました。
No.1
- 回答日時:
元質問者です。
補足です。出力したいtableは、元質問のコードですと 最大で150行×400列 になりますが
行列を入れ替えることで、400行×150列 にしたい次第です。
MySQLに登録されたアンケート回答内容を出力するのに
0をYesに、1をNoに置換したりしつつ出力しますが、
150行×400列だと、Excel2003のシートに収まりません(256列までしか扱えないので)。
なので、行列を入れ替えたい次第です。よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP PHP MySQLに画像を直接保存 2 2022/06/05 11:50
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのエラーについてです
-
sqlから多次元配列に要素を格納...
-
テーブルに入っているデータと...
-
CSVをダウンロードさせた際、CS...
-
会員登録したらメールが送られ...
-
Resource id #3 をフィールドの...
-
変数内のデータをmysqlのデータ...
-
postした値のデータ型
-
mysql_query等でレコード数を変...
-
PHP と Mysql の連携時に発生す...
-
PHPからMySQL・異なるDBにコピー
-
PHP+mysqlでSQL文に文字数制限...
-
変数同士の引き算が出来ない
-
VBAをつかってクエリの情報を抽...
-
MySQLでデータベースにデータin...
-
insert1つの処理でもトランザ...
-
ResultSetインターフェイスでの...
-
BLOBでの画像表示について
-
<VB.NET>INSERT文でDBにデータ...
-
PHPで[]の使い方について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sqlから多次元配列に要素を格納...
-
PHP+mysqlでSQL文に文字数制限...
-
phpのエラーについてです
-
PHPで絞り込み検索結果の件数を...
-
PDOを使いたい
-
CSVをダウンロードさせた際、CS...
-
stringaddslashes 半角¥が消える
-
MySQLのデータを使ってプルダウ...
-
mariadbでのエラー
-
php+mysql sql文実行について
-
XAMMPが起動しません。
-
SQL文2つ実行
-
会員登録したらメールが送られ...
-
「mysqlclient」の事が分からな...
-
if文で、レコードが無い場合だ...
-
mysql_real_escape_string
-
XAMPPで画面が真っ白になります。
-
配列に値が入らない
-
SQLの結果が返ってこない
-
ボタンのonclick時における関数...
おすすめ情報