>>746
ループの回数という表現に違和感あるけど、多分あってる。
0〜レコード数(ループの回数) - 1 の値ね。希望通り動作したのなら大丈夫かと。

>ループの前後にテーブルやリストタグを書くのがいやで、すっきりと書きたいと思ってた次第です。ただそれだけの事なんですが。
ふむふむ。
確かに漏れもそう書くな。ただループ内でデータをHTML化して文字列に代入してしまうから
オマイさんのやりたかったことがピンとこなかったわ。まぁ人それぞれなので参考まで。

$optionhtml = '';

while ($row = mysql_fetch_array($result)){
 $optionhtml .= sprintf('<option value="%d">%s', $row['id'], $row['data']);
}

print <<<EOD
<select name="xxx">
${optionhtml}
</select>
EOD;