PHP列表菜单框-循环的最佳方式?
这是我后台页面代码的一部分。(是供用户编辑/修改的edit.php页面) //从用户表中获取CAT的第一个查询PHP列表菜单框-循环的最佳方式?,php,menu,selected,Php,Menu,Selected,这是我后台页面代码的一部分。(是供用户编辑/修改的edit.php页面) //从用户表中获取CAT的第一个查询 $query = "select * from user where name='".$_SESSION['username']."' order by id ASC limit 1"; $result=mysql_query($query); if (mysql_num_rows($result)) { while($row=mysql_fetch_array($result)){
$query = "select * from user where name='".$_SESSION['username']."' order by id ASC limit 1";
$result=mysql_query($query);
if (mysql_num_rows($result)) {
while($row=mysql_fetch_array($result)){
$cat1 = $row['cat1'];
$cat2 = $row['cat2'];
$cat3 = $row['cat3'];
$cat4 = $row['cat4'];
$cat5 = $row['cat5'];
$cat6 = $row['cat6'];
$cat7 = $row['cat7'];
$cat8 = $row['cat8'];
$cat9 = $row['cat9'];
$cat10 = $row['cat10'];
}
}
//现在我想根据用户表$cats构建10个选择框
//下面是我可以构建的第一个框$cat1
//有没有一种方法,我可以产生这10个选择框,而不必作出10个周期的贝娄代码
<select name="theme" id="theme">
<?php
$q1 = 'SELECT * FROM cats ORDER BY title ASC';
$r1 = mysql_query($q1);
while( $row = mysql_fetch_array($r1)) {
if ( $cat1 == $row['id'] ) {
print "<option class=\"cssoption\" selected=\"selected\" value=\"".$row['id']."\">".htmlentities($row['title'])."</option>";
}
else {
print "<option class=\"cssoption\" value=\"".$row['id']."\">".htmlentities($row['title'])."</option>";
}
}
?>
</select>
我不是一个程序员,所以这可能不是有效的代码
希望有人能在这里帮助我,并理解我正在尝试做什么
非常感谢。- 代码很好。这10个周期,正如你所说,几乎是零成本
- 这是我们通常的做法,我们按顺序一个接一个地获取记录
- 此外,要求不执行10个循环是没有意义的,因为您同时应用了if-else条件,这意味着您要检查每条记录,如果cat id与行相同,那么您需要循环
- 另一方面,如果出于某种原因希望跳过某些记录,可以使用mysql seek函数开始从所需的记录中提取
$i=0;$i的
for($i=0;$i<99999;$i++)
(9999*9999);
echo 'This time the cost of this loop was:',(microtime()-$start),' seconds.';