Php 从数据库中选择默认选项
我在选择中设置默认文本时遇到问题。(选项列表)。所以,我的选择是在数据库中存储。像Php 从数据库中选择默认选项,php,html,Php,Html,我在选择中设置默认文本时遇到问题。(选项列表)。所以,我的选择是在数据库中存储。像varchar测试选项 现在如果我在代码中这样做 <select name="category"> <option selected="selected"><?=$ad['category']?></option> <?php echo $options; ?> </select> 这是可行
varchar
测试选项
现在如果我在代码中这样做
<select name="category"> <option selected="selected"><?=$ad['category']?></option> <?php echo $options; ?> </select>
这是可行的,但在我的列表中有两个相同的值。
我的全部代码
<?php
while($category = mysqli_fetch_array($q)):;
?>
<option> value="<?php echo $category[0];?>" <?php echo $category[1];?> </option>"
<?php endwhile; ?>
<select name="category"> <option selected="selected"><?=$ad['category']?></option> <?php echo $options; ?> </select>
<?php
value=”“”
好的,实际情况是,您正在获取一个数组,但您希望该选项不会被打印。然后,您首先拥有所选的选项,即:
<?php $ad['category']; ?>
然后,您必须做的唯一一件事是,在获取数组时,如果该选项等于所选选项,则不会打印该选项,因此:
$q2 = mysqli_query($con,$q22222);
$options = "";
while($row2 = mysqli_fetch_array($q2))
{
if($row2[1]!=$selected){
$options = $options."<option>$row2[1]</option>";
}
}
$q2=mysqli\u查询($con,$q2222);
$options=“”;
而($row2=mysqli_fetch_数组($q2))
{
如果($row2[1]!=$selected){
$options=$options.“$row2[1]”;
}
}
如果不想再次从数据库中获取相同的选项,可以在SELECT查询中使用SELECT DISTINCT
语句
并且还要处理选项与您选择的默认选项不同的情况
while($row2 = mysqli_fetch_array($q2))
{
if($row2[1] != $selected) $options = $options."<option>$row2[1]</option>";
}
while($row2=mysqli\u fetch\u数组($q2))
{
如果($row2[1]!=$selected)$options=$options.“$row2[1]”;
}
>B
>D
试试看选择列表中的内容是否来自两个不同的来源?$q
和$q2
是否只是同一代码的修订版?所选值来自何处,是用户输入的吗?您的代码一开始似乎没有什么意义-首先在循环中输出两个…
,然后直接输出然后是一个
?谢谢,它可以工作了
while($row2 = mysqli_fetch_array($q2))
{
if($row2[1] != $selected) $options = $options."<option>$row2[1]</option>";
}
<select >
<option value="1" <?php if ($Defaultselection == 1) echo "selected"; ?>>A</option>
<option value="2" <?php if ($Defaultselection == 2) echo "selected"; ?>>B</option>
<option value="3" <?php if ($Defaultselection == 3) echo "selected"; ?>>C</option>
<option value="4" <?php if ($Defaultselection == 4) echo "selected"; ?>>D</option>
</select>