Duplicata possible :
envoyer des tableaux de données de php à javascript
J'envoie un tableau avec ajax à un fichier php. Le tableau est une liste de noms qui doivent être stockés dans une base de données. Afin de vérifier cela, j'ai essayé d'envoyer l'écho de la fonction sql_query
créé dans le fichier php. Mais la réponse est toujours
Argument non valide fourni pour foreach()...
J'ai donc cherché des solutions dans SO, et souvent la réponse était quelque chose comme "votre 'Array' n'est pas un Array". J'ai donc envoyé en écho le tableau soumis au php, qui renvoie tous les noms passés sur une seule ligne (ce qui, je pense, signifie que le tableau arrive dans le fichier php).
Alors voici mon JS...
var tourneyData = {
tName : tourneyName,
tNum : number,
tNames : names, // this is an array
tInt : international,
tLig : liga,
tStars : stars
};
$.ajax({
type: "POST",
url: "php/storeTourney.php",
data: tourneyData,
datatype: "json",
success: function(response){
alert("response " + response);
}
});
... et le code PHP
$tName = $_POST['tName'];
$tNum = $_POST['tNum'];
$tNames = $_POST['tNames'];
$tInt = $_POST['tInt'];
$tLig = $_POST['tLig'];
$insert = "";
foreach($tNames as $d){ // line pointed in the error message
$insert += "INSERT INTO NAMES VALUES('test', '".$d."');";
}
echo $insert;
Je ne comprends pas exactement ce qui ne va pas dans le code. Qu'est-ce qui pourrait bien être faux dans le foreach()
-déclaration, si $tNames
évidemment est un tableau ?