我有一个示例数据库,其中的字段是ID和UNIT,数组记录中的UNIT FIELD来自<select multile>标记。.这是Database ex ..

 id| unit
 1 | A,B
 2 | C,D
 3 | E,F


我想发生的是使用EXPLODEUNIT FIELDEXPLODE(',',$result)值。但是我将如何爆炸它,然后分别获取$result[0] or $result[1] ...然后我将在<select multiple>中回显它。再次用if(){echo selected='selected'}标记。这就是我想发生的事情...

示例我SELECT * FROM users WHERE id='1'

<select multiple name="unit[]">
  <option <?php if($unit == 'A')echo selected='selected'?> > A: Unit </option>
  <option <?php if($unit == 'B')echo selected='selected'?> > B: Unit</option>
</select>


谢谢你们对不起我的英语

最佳答案

以下示例未经测试。

假设您正在使用mysqli

$db = mysqli_connect([YOUR CONNECTION SETTINGS...]);
$sQuery = "SELECT * FROM users WHERE id='1'";
$rResult = $db->query($sQuery);

$aResult = array();
while($aRow = mysqli_fetch_array($rResult)){
    aResult [] = $aRow;
}

// explode each row and store in a new array
 $aResultArrays = array();
 foreach ($aResult as $row){
     $aResultArrays[$row['id']] = explode(',',$row['unit']);
 }


您应该获得一个数组,其中的键表示id字段,且值为unit数组:

array(
[1] => array('A','B'),
[2] => array('C','D')
...
);

关于php - 爆炸数据库值,然后通过选择回显到<select multiple>标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29204226/

10-13 09:14