分解数据库值,然后通过选择回显到<;选择多个>;标签


explode database values then echo by selected to a <select multiple> tag

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

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

我希望使用EXPLODE(',',$result)EXPLODE执行UNIT FIELD的值。。但我将如何爆炸它,然后通过每个获得$result[0] or $result[1]。。。那么我将用CCD_ 7再次在CCD_。。这就是我希望发生的事情。。。

示例I 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']);
 }

您应该获得一个数组,其中包含表示值为unitid字段的键array:

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