繁体   English   中英

使用php填充多选,同时从db循环

[英]Populate multi-select with php while loop from db

以下是在当地环境中工作的。 现在,除了这些看起来有效之外,所有东西都被推送了。 显示完全空的选择框现在没有检查或空白标签只是在“选择选项”下拉列表中的空白空间。 选择显示

<?php
  $selected = array();
  $selected = explode(",",$fill['markets']);

  $condb = mysql_query("SELECT * FROM `countries`");
  $count = mysql_num_rows($condb);
  $countries = array();
  $str;

  while ($countries = mysql_fetch_array($condb))
  {
    $str = "option{$countries['id']}";
    echo "<option value='{$str}' ";
    if(in_array($str,$selected)) {
      echo "selected>";
      echo $countries['country'];
      echo "</option>";
    } else {
      echo ">";
      echo $countries['country'];
      echo "</option>";
    }
  }      
  ?>

你应该使用while循环。 如果需要,可以在循环外声明$i ,请尝试以下代码:

  $condb = mysql_query("SELECT * FROM `countries`");

  $i = 0;
   while($countries = mysql_fetch_array($condb)) {
    $str = 'option' . $i;
    echo "<option value='{$str}' ";
    if(in_array($str,$selected)) {
      echo "selected>";
      echo $countries['country'];
      echo "</option>";
    } else {
      echo ">";
      echo $countries['country'];
      echo "</option>";
    }
 $i++;
  }
  ?>
</select>

注意:

不推荐使用mysql_* 所以改为使用mysqli_*PDO
为什么我不应该在PHP中使用mysql_ *函数?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM