J'ai un tableau associatif. Après avoir sélectionné mes enregistrements dans ma table (avec deux colonnes: objName, objCost), je souhaite les enregistrer dans mon tableau comme suit:
array(
"objName"=>$row["objName"],
"objCost"=>$row["objCost"]
)
Comment dois-je faire cela?
Ceci est mon code:
$output = "";
$arr = array();
$sql = "SELECT * FROM obj WHERE objName LIKE "%" . $_POST["search"] . "%"";
$result = $db->query($sql) or die(mysql_error());
if ($result->rowCount() != 0) {
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
//here i should insert my rows into my array
}
$json_arr = json_encode($arr,JSON_UNESCAPED_UNICODE);
echo $json_arr;
} else {
echo "Data Not Found";
}
Réponses:
0 pour la réponse № 1Selon votre code,
$arr[] = ["objName"=>$row["objName"],"objCost"=>$row["objCost"]];
Ensuite, vous pouvez encoder le tableau et récupérer l’objet de l’autre côté avec javascript ou php. Ce qui vous convient
json_encode($arr);
Dans votre succès Ajax, récupérez les objets et utilisez les valeurs comme bon vous semble
success: function (data) {data = JSON.parse(data);
for(var i = 0; i < data.length; i++){
alert(data[i].objName);
}
}
voir Boucle jQuery sur le résultat JSON de AJAX Success? sur la façon de parcourir vos résultats dans jQuery