php - 分解数据库值,然后通过选择 <select multiple> 标签来回显

标签 php mysql arrays

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

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

我希望发生的是EXPLODE UNIT FIELD 的值使用EXPLODE(',',$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/

相关文章:

php - 为什么外来字符以一种时髦的方式保存到 MySQL 服务器?

javascript - 如何将 php 和 javascript 变量作为输入字段值发送?

php - 在 PHP5 的 _destruct 中自动取消设置所有类变量

mysql - 在mysql中以15分钟为间隔获取结果

Mysql 索引整理 utf8_unicode_ci

java - 使用数组保存其他数组的索引

javascript - 如何使用 Array.filter 而不是传统的循环 O(n^2)?

python - 在新维度中堆叠数组

php文件解析错误

PHP 创建 JSON 数组列表(数据来自 MySQL)