我在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。我如何加入和检索该条件的数据以及循环条件。
答案 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>