我正在尝试添加 3 个组合框,它们都显示来自我的 MySQL 数据库的完全相同的信息。似乎我编写的代码使整个页面等到所有 3 个组合框都被填充,然后再继续。
<?
$query = "Select * from tblWriters order by surname";
for ($i = 1; $i <= 3; $i++) {
$result = mysql_query($query);
echo "<tr><td>Writer".$i." *</td><td>";
echo "<select name='txtWriter".$i."' style='width: 200px;'>";
echo "<option value ='' selected='selected'></option>";
while ($row = mysql_fetch_array($result))
{
echo "<option value ='" . $row['id'] . "'> " . $row['surname'] . ", " . $row['name'] . "</option>";
}
echo "</select><td></tr>";
}
?>
我想优化这段代码,所以查询不会被执行 3 次,因为我相信这是页面变慢的地方。
如果我把
$result = mysql_query($query);
在 for 循环之外,不填充第二个和第三个组合框。我试图研究重置结果的指针,但我似乎无法弄清楚它是如何工作的。
另外,有没有办法可以重用while循环,所以我不必执行3次?
有人可以指出我正确的方向吗?我对 PHP 很陌生,并试图自学。任何帮助将非常感激。谢谢!