echo ”<table border=1>”;
echo ”<tr><th>コード</th><th>市町村</th></tr>”;
while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC ) ){
echo ”<tr>”;
echo ”<td>” . $rec[’codeid’] . ”</td>”;
echo ”<td>” . $rec[’city’] . ”</td>”;
echo ”</tr>”;
}
質問が長過ぎて登録出来なかったので、省略しております。
今はこのようになっていて、
$rec[’codeid’]と$rec[’city’]が数百件、表示されるのですが、
その結果の$rec[’codeid’]を1件ずつ$kensakuに入れて、表示させるには、どうすればいいのでしょうか?
$rs2 = mysql_query( ”SELECT * FROM hoge WHERE code = $rec[’codeid’] , $conn );みたいに使って、
こんどは、今表示されている結果の下に、この結果も表示したいです。
意味が分からない所は聞いて下さい。宜しくお願いします。
質問の内容が、1個のテーブルのデータを、同じ`codeid`および`city`を持つデータごとに集約して全てのデータを表示したい、ということであれば、
1.`codeid`順にソートして全てのデータを取得する(SQLのORDER BY節)
2.ループの`codeid`の変わり目で表示内容を分岐する
という処理で対応可能です。
$rs = mysql_query( ”SELECT * FROM hoge WHERE todofu = ’$kensaku’ORDER BY codeid”, $conn );
echo ”<table border=1>”;
echo ”<tr><th>コード</th><th>市町村</th><th>その他</th></tr>”;
$codeid = ”dummy”;
while( $rec = mysql_fetch_array( $rs, MYSQL_ASSOC ) ){
echo ”<tr>”;
if ($codeid != $rec[’codeid’]) {
echo ”<td>” . $rec[’codeid’] . ”</td>”;
echo ”<td>” . $rec[’city’] . ”</td>”;
echo ”<td></td>”;
}
else {
echo ”<td></td>”;
echo ”<td></td>”;
echo ”<td>” . $rec[’other’] . ”</td>”;
}
echo ”</tr>”;
$codeid = $rec[’codeid’];
}
質問にあるように、ループの内側でSQLを何度も実行してしまうと、パフォーマンスが極端に低下するのでお勧めできません。
質問内容を外してたらすいません。
良く読むと自分でも分かりにくい質問内容になってました。すいません。
もう少し、問題を把握してきます。
ありがとうございました。