我有一个包含多个项目的数据库表。我想在选项卡 View 中显示每个项目。所以我想获取每个项目名称一次并获取该项目名称下的其他详细信息。我的表格如下所示。
+-------------+----------+--------------+---------+-------------+
| activity_id | activity | project_name | user_id | description |
+-------------+----------+--------------+---------+-------------+
| 1 | A | New Project | 5 | Project |
| 2 | B | New Project | 5 | Project |
| 3 | C | New Project | 5 | Project |
| 4 | D | New Project | 5 | Project |
| 5 | E | New Project | 5 | Project |
| 6 | A | Old Project | 5 | New one |
| 7 | B | Old Project | 5 | New one |
| 8 | C | Old Project | 5 | New one |
| 9 | A | Another One | 5 | Test 01 |
| 10 | B | Another One | 5 | Test 01 |
| 11 | C | Another One | 5 | Test 01 |
| 13 | D | Another One | 5 | Test 01 |
+-------------+----------+--------------+---------+-------------+
有没有办法像下面的数组一样获取这个表?
['New Project'] =>
[0] =>
['activity_Id'] => '1'
['activity'] => 'A'
['user_id'] => '5'
['description'] => 'project'
[1] =>
['activity_Id'] => '2'
['activity'] => 'B'
['user_id'] => '5'
['description'] => 'Project'
还有类似的恶习..?
最佳答案
这可以解决问题:
$stm = $pdo->query('SELECT * FROM tablename');
while( $row = $stm->fetch(PDO::FETCH_ASSOC) )
{
$info = array(
'activity_id' => $row['activity_id'],
'activity' => $row['activity'],
'user_id' => $row['user_id'],
'description' => $row['description']
);
if( array_key_exists($row['project_name'], $array) && is_array($array[$row['project_name']]) )
{
$array[$row['project_name']][] = $info;
}
else
{
$array[$row['project_name']] = array();
$array[$row['project_name']][] = $info;
}
}
关于php - 避免重复值并在 mysql 数据库中的同一行中获取其他数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29800884/