使用Php-mysql在多个选项中设置Selected值



我有这个代码用于在$imeitransferserial中以select multiple设置所选值这是$imeiserial中的值数组(2){[0]=>string(15)"869434022236534"[1]=>string(15]"869434022351051"}>字符串(16)"869434022342456"等等。我只想在我的选项中自动选择imeitransferserial的值。我尝试了这个代码,但所有项目都被选中了。

 $trans=mysqli_query($link,"select * from transferinventory where ITEM_CODE_MX='OPP01-A11WGRY'");
    while($row2=mysqli_fetch_array($trans))
    {
     $imeitransfer=$row2["IMEI_MX"];
    $imeitransferserial = explode(',', $imeitransfer);
    var_dump($imeitransferserial);
    }
    $query=mysqli_query($link,"select * from inventory where ITEM_CODE_MX='OPP01-A11WGRY' AND BRANCH_CODE_MX='AC001'");
    while($row=mysqli_fetch_array($query))
    {
    $imei=$row["IMEI_MX"];
    $imeiserial = explode(',', $imei);
    }
    ?>
    <select id="tags" name='imei[]' style="width:300px;"  class="form-control select2-offscreen" onchange="getCount()" multiple>
    <?php
    foreach($imeiserial as $is){
        $imeicode = trim($is);
     if (in_array($imeicode,$imeitransferserial)) {
          $select = 'selected="selected" ';
          }
         if (!empty($imei)) {
            echo "<option  " . $select . "value='$imeicode'>".$imeicode."</option>";
        }
    }
        ?>
    </select>

问题是在第一次迭代时设置$select的值,当为false时,永远不会清除该值

if (in_array($imeicode,$imeitransferserial))

你需要添加一个其他-

if (in_array($imeicode,$imeitransferserial)) {
      $select = 'selected="selected" ';
 }
 else {
       $select = "";
 }

最新更新