我有一个待售区域的数据库,我将其显示在一个表格中,供管理员编辑成本,无论是出售还是出售(卖家)。对于卖家,我有一个下拉列表,其中第一个选项是当前所有者以便于使用,然后我只想让它列出可能成为卖家的其他可能用户。
事情是,有200个区域,我不想遍历每个区域的每个用户,以便在列表中显示它们。有没有办法我每次都可以准备好许多而不是循环。像将字符串作为字符串准备然后将其作为HTML插入?如果可能的话,不知道如何这样做。
提前致谢。[
答案 0 :(得分:1)
让我们说你以这种方式列出你的名单:
$str = "<select>";
$result = mysql_query("select * from sellers");
while($row=mysql_fetch_assoc($result)){
$str.= '<option value="'.$row['id'].'">'.$row['name'].'</option>';
}
$ STR = “”;
您只需输出您希望列表出现的任何位置。 此外,您不必将默认情况下选择的那个放在顶部,您也可以将“selected”一词添加到选项标签中,如下所示:
<option value='1' selected>John Doe</option>
答案 1 :(得分:0)
如果我正确理解了这个问题。您需要创建一个选项标签数组。
$Name = array();
$q = "SELECT name FROM users";
$r = mysqli_query ($dbc, $q) or die("Error: ".mysqli_error($dbc));
while($row = mysqli_fetch_array($r)){
$Name[] = "<option value='$row[\"name\"]'>$row[\"name\"]</option>";
}
然后,只要您需要,就可以像这样循环遍历数组:
<select id='thisselect' name='thisselect'>
<?php
foreach($Name as $key =>$line){
echo "$line";
}
?>
</select>
答案 2 :(得分:0)
所有答案都很好,但我建议你将逻辑与内容本身分开,而不是用连接字符串完成所有这些,你应该这样做:
<select id="region" name="region">
<?php foreach($regions as $key => $region) ?>
<option value="<?php echo $key ?>"><?php echo $region ?></option>
<?php endforeach; ?>
</select>