在select元素中获取并显示所选标记作为选定标记和剩余标记

时间:2015-04-09 06:05:56

标签: php html mysql

我在mysql数据库中有以下三个表。

博客
id,title,content,created,modified,active

标记
id,tag_name

blog_tag
id,tag_id,blog_id

我想从这些表中获取数据并以表单的select元素显示。 还将所选数据显示为选定数据,将剩余数据显示为选项选项。 像这样。

<select name="tags_id[]" multiple="multiple">
<option value="id" selected="selected">tag name</option>
<option value="id" selected="selected">tag name</option>
<option value="id">tag name</option>
<option value="id">tag name</option>
<option value="id" selected="selected">tag name</option>
<option value="id">tag name</option>
</select>
我使用php和mysql。我如何加入和检索该条件的数据以及循环条件。

3 个答案:

答案 0 :(得分:0)

您可以这样做:

<option value="id" <?php echo ($tag =='tag name' ? 'selected' : '') ?>>
tag name</option>

答案 1 :(得分:0)

从数据库中获取值,迭代它们...并检查id是否匹配..选择该值否则回显它而不添加所选关键字。希望这会给你一个想法。

 <?php  $actualValues= // get the from database ?>

 <select name="tags_id[]" multiple="multiple">
 <?php 

  foreach($tableRows as $row){
  if($row['id']== $actualValue[$i])
   echo "<optionvalue'".$actualValue[$i]."' selected='selected'>$row['value']</option>";
   else
      echo "<optionvalue'".$actualValue[$i]."'>$actualValue['value']</option>";
 $i++;

 ?>
 </select>

答案 2 :(得分:0)

试试这个。此代码从标记表中获取所有tag_names,并显示在选择框中。

<select name="tags_id" multiple="multiple">
        <?php
        $result=mysql_query("select id,tag_name from tag");
        while ($row = mysql_fetch_array($result)) 
        { 
            if ($_GET['tags_id']==$row["id"]) 
            {
               echo '<option selected="selected" value='.$row["id"].'>'.$row["tag_name "].'</option>';
            } 
            else 
            {
               echo '<option value='.$row["id"].'>'.$row["tag_name "].'</option>';
            }
        }
        ?>
        </select>