2017-02-22 66 views
0

我有问题,我不知道什么是最好的方式来处理它,因为我没有太多的PHP经验。如何获取正确索引的提取数据

所以我有基本的功能,返回从数据库中的所有项目,它看起来像这样。

function getAll($mysqli) { 
    $stmt = $mysqli->prepare("SELECT g.id, g.name, g.description FROM control_group as g"); 

    $stmt->execute(); 
    $stmt->bind_result($id, $name, $description); 
    $groups = array(); 

    while ($stmt->fetch()) { 
     $groups[$id] = array(
      'id' => $id, 
      'name' => $name, 
      'description' => $description 
     ); 
    } 

    $stmt->close(); 
    $mysqli->close();; 
    echo json_encode($groups); 
} 

而且该功能再现这样

5:{id: 5, name: "Group 1", description: null} 
11:{id: 11, name: "Group 2", description: null} 
14:{id: 14, name: "Group 3", description: null} 
17:{id: 17, name: "Group 4", description: null} 

我想在这里实现什么反应是响应这样

0:{id: 5, name: "Group 1", description: null} 
1:{id: 11, name: "Group 2", description: null} 
2:{id: 14, name: "Group 3", description: null} 
3:{id: 17, name: "Group 4", description: null} 

因此,而不是项目ID我想显示正确的索引,我知道我需要检查索引不ID,但我不知道如何正确地做到这一点。

$groups[index] = array(
      'id' => $id, 
      'name' => $name, 
      'description' => $description 
); 

回答

1

删除$ id,它将继续添加默认索引。

$i = 0; 
while ($stmt->fetch()) { 
     $groups[$i] = array( // Remove $id 
      'id' => $id, 
      'name' => $name, 
      'description' => $description 
     ); 
$i++; 
    } 
+0

删除$id如果我离开这个空白,然后在我的UI我不能让这个功能在成功进入,它只是工作,当我把$组['身份证']或其他东西,有没有办法通过这里索引,而不是让这个空? –

+0

初始化$ i = 0;把$ i放在那里并增加它。 – Naincy

+0

谢谢,我已经试过了,它的工作原理 –

1

$groups关键

$groups = array(); 

while ($stmt->fetch()) { 
    $groups[] = array(
     'id' => $id, 
     'name' => $name, 
     'description' => $description 
    ); 
}