2017-02-22 6 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} 

のような応答がだからではなく、私が正しいインデックスを表示したい項目IDのこの

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} 

のような応答で再現し、私はどういうわけか、私はインデックスを確認する必要があることを知っているが、私は正しく行う方法を知らない。

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

答えて

1

$ idを削除すると、デフォルトのインデックスが追加され続けます。私はその後、私のUI上で、私は成功で入力するには、この機能を空白に得ることができないというのままにした場合

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

から$idを削除し、それはちょうど私が '[IDを$グループを入れたときに動作します']または何か他のもの、ここにインデックスを渡し、これを空にしない方法がありますか? –

+0

$ i = 0を初期化します。そこに$を置き、それを増やしてください。 – Naincy

+0

ありがとう、私はすでにそれを試して、それが動作します –

1

$groupsキー

$groups = array(); 

while ($stmt->fetch()) { 
    $groups[] = array(
     'id' => $id, 
     'name' => $name, 
     'description' => $description 
    ); 
} 
関連する問題