Php mysql防止下拉重复

时间:2016-01-26 05:26:06

标签: php mysql duplicates dropdown

我想在我的编辑页面中防止下拉选项重复..

这是我的疑问:

$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;选项)。 由于手动输入技能级别选项,如何防止出现重复的下拉选项?

提前致谢!

2 个答案:

答案 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>";