2017-02-22 120 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 
    ); 
}