我想在我的编辑页面中防止下拉选项重复..
这是我的疑问:
$res= mysql_query ("SELECT * FROM Acc_skills
INNER JOIN Accounts ON
Accounts.Role_ID = Acc_skills.FK_Role_ID
INNER JOIN Skills ON
Skills.Skills_id = Acc_skills.FK_Skills_ID
WHERE Acc_skills.Acc_skills_id = '$id'");
$row = mysql_fetch_array($res);
这是我的代码:
<?php
echo '<option value= '.$row[3].' selected="selected">'.$row[3].' </option>';
echo '<option id="Low" value="Low">Low</option>
<option id="Average" value="Average">Average</option>
<option value="High">High</option>
</select>';
?>
我已经设法从我的数据库中提取技能水平数据(例如,高),但是,它现在显示重复的下拉选项(例如,现在有2&#34;高&#34;选项)。 由于手动输入技能级别选项,如何防止出现重复的下拉选项?
提前致谢!
答案 0 :(得分:2)
根据您的意见,您需要根据数据库值使用selected=""
选项。你可以这样使用:
<select>
<option <?=($row[3] == 'Low' ? 'selected=""' : '')?> id="Low" value="Low">Low</option>
<option <?=($row[3] == 'Average' ? 'selected=""' : '')?> id="Average" value="Average">Average</option>
<option <?=($row[3] == 'High' ? 'selected=""' : '')?> value="High">High</option>
</select>
<强>解释强>
如果$row[3]
等于&#34;平均&#34;或&#34;高&#34;或&#34;低&#34;选择相关的选项菜单并添加选中的=&#34;&#34; <option>
标记中的属性。
旁注:
请使用mysqli_*
或PDO
个附加信息因为mysql_*
扩展名已弃用且在PHP 7
中不可用。
答案 1 :(得分:1)
first of all:
1- Please travel from mysql into mysqli or PDO , i suggest PDO.
2- if duplicated data in your database use "SELECT DISTINCT"
for fetching result.
3-if you have static option try like this:
<?php
echo "<select>";
echo '<option value= '.$row[3].' selected="selected">'.$row[3].' </option>';
echo '<option id="Low" value="Low">Low</option>
<option id="Average" value="Average">Average</option>
<option value="High">High</option>
</select>';
?>
or if you have fetching all rows act like this:
echo "<select>";
echo "<option id=Low value=Low >Low</option>
<option id=Average value=Average>Average</option>
<option value=High>High</option>";
foreach($result as $index){
echo " < optionvalue =$index[3] selected = 'selected' > $index[3]</option > ";
}
echo "</select>";