php中编辑模式下的列表框项目

时间:2016-06-22 09:42:27

标签: php html mysql

在添加商店页面中,我有一个类别列表框,显示数据库中表格类别的类别列表。

添加商店中类别列表框的代码是

<select id="category" multiple="multiple" name="category">
<?php
$ct_query="SELECT * FROM category ORDER BY category_id ASC";
$ct_sel=mysql_query($ct_query);
while($ct_res=mysql_fetch_array($ct_sel))
          {
if($row['category_id'] == $ct_res['category_id'])
                  echo "<option value='".$ct_res['category_id']."' selected=selected>".$ct_res['category_name']."</option>";
              else
                  echo "<option value='".$ct_res['category_id']."'>".$ct_res['category_name']."</option>";
}
?>
</select>

在编辑商店页面中,存在相同的列表框。当我在添加商店页面的列表框中选择单个类别时,它会在编辑商店页面中正确显示。但是当我在添加商店页面的列表框中选择多个项目时,编辑商店页面中不显示所选列表框项目。编辑商店页面中类别列表框的代码为

    <select id="category" multiple="multiple" name="category">
          <?php
          $ct_query="SELECT * FROM category ORDER BY category_id ASC";
          $ct_sel=mysql_query($ct_query);

          while($ct_res=mysql_fetch_array($ct_sel))
          {
if($row['category_id'] == $ct_res['category_id'])
                  echo "<option value='".$ct_res['category_id']."' selected=selected>".$ct_res['category_name']."</option>";
              else
                  echo "<option value='".$ct_res['category_id']."'>".$ct_res['category_name']."</option>";
 }

          ?>
</select>

在编辑商店页面中,当我从添加商店页面的列表框中选择多个商品时,应正确显示多选列表框项目。

我尝试了各种代码。没有用。为我提供了一个有价值的解决方案。

1 个答案:

答案 0 :(得分:0)

即使您想要展示,编辑等,您也必须使用相同的代码列出所有项目, 你需要使用mysqli而不是mysql,代码必须是:

$sql = "SELECT id, name FROM category ORDER BY id ASC;";
$result = connection()->query($sql);
$rs = mysqli_fetch_assoc($result);
echo "<select id='category' multiple='multiple' name='category'>";
while ($rs != ''){
   echo "<option id='".$rs['id']."' value='".$rs['id']."'>".$res['name']."</option>";
}
echo "</select>";

然后,如果你有一些存储在数据库中,你可以阅读选定的项目并用jQuery标记为选中(如果我不记得错了它必须是这样的:$('#idselected').attr(select selected);