php - 如何从 MySQL 数据库获取数据到以一个字段作为数组索引的数组

标签 php mysql arrays

我有一个名为 demo 的表,其中包含字段 iddepartmentcreateddate 和 status。

现在我想将此表中的所有数据获取到一个数组,其中数组索引为部门,并且该数组中具有相同部门的每一行的值例如:

Array[department]((Array[0]=>id
                            createddate 
                            status)
                  (Array[1]=>id
                            createddate 
                            status))

谁能帮帮我吗?

最佳答案

如果您有能力对提取的行执行循环并创建一个新数组来满足您所需的索引结构,则可以使用以下方法

获取数据库结果后,对结果执行循环并将行推送到一个以索引为部门的新数组中(我假设它是一个唯一的属性,您甚至应该考虑将其重命名为department_id)。

所以你可以轻松地做这样的事情:

<?php

$result = mysql_query('SELECT id, department, createddate, status FROM demo');
$new_array = array();

while($row = mysql_fetch_assoc($result)) {
    $department = $row['department'];

    // To add enter result row including deparment
    $new_array[$department] = $row; 

    // OR to have only id, createdate, status
    $new_array[$department] = 
             array('id' => $row['id'], 
                   'createdate' => $row['createdate'],
                   'status' => $row['status']);

}

注意:要将部门 (department_id) 作为索引,它必须是唯一的属性。

关于php - 如何从 MySQL 数据库获取数据到以一个字段作为数组索引的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31900535/

相关文章:

mysql - 创建自定义 MySQL 排序规则

arrays - 排序算法值作为位置

arrays - Perl - 具有两个数组参数的函数

php - 线上线下同步

php - 使用包含两个元素的关联数组在多维数组中搜索唯一行

javascript - 在php代码中添加div类

php - 使用多个条件从 SQL 中的表中删除多行

PHP:替换 DateTime 对象

PHP/MySQL 选择查询问题

java - 用 Arrays.asList 初始化 List<>