这是一个代码优化问题,而不是一个需要解决的问题。
我有4个选择菜单,它们从SQL查询中获取它们的值。问题是我重复同样的查询4次来填充4选择菜单列表。
这里是SQL代码(我在SQL Server 2008中使用PHP)
foreach($country as $makassi1){ $selectcities = "SELECT City, Country, Rate FROM tblPerdiem_Rates WHERE Country = '$makassi1'";$checkcity = sqlsrv_query($conn,$selectcities, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ))or die(print_r( sqlsrv_errors(), true));
while($row=sqlsrv_fetch_array($checkcity))
{
$countries = ($row['Country']);
$names =($row['City']) ;
$rate =($row['Rate']) ;
$ratess=$names."-".$countries
?>
}
}
sqlsrv_free_stmt($checkcity);
?>
<?php foreach($country as $makassi1) { $selectcities = "SELECT City, Country, Rate FROM tblPerdiem_Rates WHERE Country = '$makassi1'"; $checkcity = sqlsrv_query($conn,$selectcities, array(), array( "Scrollable" => SQLSRV_CURSOR_KEYSET ))or die(print_r( sqlsrv_errors(), true));
while($row=sqlsrv_fetch_array($checkcity))
{
$countries = ($row['Country']);
$names =($row['City']) ;
$rate =($row['Rate']) ;
$ratess=$names."-".$countries
?>
}
}sqlsrv_free_stmt($checkcity);
?>
这是我用来填充列表菜单的代码。但我不喜欢它,因为在同一页面重复同样的查询4次效率不高。我尝试将查询和“for each”部分放在页面顶部,然后在选择菜单html部分中使用“while”部分,但它仅适用于第一个菜单。其余的都显得空白。我能比这更好吗?还是这样好?所有帮助赞赏