プロが教えるわが家の防犯対策術!

データベース内のある項目をセレクトボックスにて表示させ、そのセレクトボックスを複数作りたいのですが、最初のセレクトボックスしかデータベース内のものを表示できなく困っています。

ソースは下記の通りになります。

for ($i = 1; $i <= 11; $i++) {
$names .= '<select name="name[' .$i. ']">'."\n";
while ($row = mysql_fetch_array($nameResult)) {
$memberName = $row['name'];
$names .= '<option value="' .$memberName. '">' .$memberName. '</option>'."\n";
}
$names .= '</select>'."\n";
}

echo $names;

2つめ以降もデータベース内のもの受け取れるようにしたいのですが、宜しくお願いします。
ソースが間違っていましたら、正しいソースも教えていただければと思います。

A 回答 (1件)

おなじデータをよむなら毎回fetchしなくてもいいのでは?



$names="";
while ($row = mysql_fetch_array($nameResult)) {
$memberName = $row['name'];
$names .= '<option value="' .$memberName. '">' .$memberName. '</option>'."\n";
}

for ($i = 1; $i <= 11; $i++) {
echo '<select name="name[' .$i. ']">'."\n";
echo $names;
echo '</select>'."\n";
}

どうしても毎回フェッチしたいなら先頭までシークしてください

http://www.php.net/manual/ja/function.mysql-data …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!