Remplir un tableau JS à partir d'une requete php

Signaler
Messages postés
102
Date d'inscription
vendredi 18 août 2006
Statut
Membre
Dernière intervention
29 mai 2012
-
Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
-
Bonjour à tous,

Voici mon problème, je récupère le contenu de certains champs grace à une requete PHP/MySQL.

Je voudrais ensuite faire un tableau Javascript qui se remplit automatiquement grace au résultat de cette requete.
Voici ce que j'ai pour le moment :

var pausecontent=new Array() //n'affichera que les 3 premiers résultats de la requete SQL.
pausecontent[0]= '<?=', '.$title[1].$texte[1].'
' ?>'
pausecontent[1]= '<?=', '.$title[2].$texte[2].'
' ?>'
pausecontent[2]= '<?=', '.$title[3].$texte[3].'
' ?>'


Donc mon probleme, c'est que je voudrais passer en une seule ligne :
pausecontent[$res2["Count"]] => c'est le nombre d'enregistrement de ma requete
Mais ce n'est pas aussi facile pour moi qu'en php, n'y a t'il pas moyen de faire un Foreach ou un for quelque part ? Je bloque en Javascrip.

Si quelqu'un peut m'aider à trouver une solution ça serait super cool.
Merci d'avance

2 réponses

Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
Pour créer un tableau HTML avec le résultat de la requête SQL, il faut :
Créer un objet Array() :
var pausecontent=new Array();
Déterminer le nombre d'enregistrements de la requête :
var nbEnr=<?php=$res2[count] ?>
Affecter les valeurs extraites de la requête SQL à l'objet Array() à l'aide d'une boucle for :
for (n=0;n<nbEnr;n++) {
pausecontent[n]=<?php="news_photos/".$img[n].",".$title[n].",".$text[n]?>;
}
Ensuite, il faut créer un objet DOM table et y insérer des objets rows et cells :
var tabAff=document.createElement("table");
for (n=0;n<nbEnr;n++) {
var rowContent=pausecontent[n].split(",");//utilisation de la fonction split()
var tabRow=tabAff.insertRow(n);
for (m=0;m<3;m++) {
var tabCell=tabRow.insertCell(m);
if (m==0) {
var cellImg=document.createElement("img);
cellImg.src=rowContent[m];
tabCell.appendChild(cellImg);
}
else {
tbaCell.innerHTML=rowContent[m];
}
}
}
Dans ce cas tous les enregistrements de la requête SQL seront affichés dans un tableau HTML.
Bon courage!...
Messages postés
268
Date d'inscription
lundi 9 janvier 2006
Statut
Membre
Dernière intervention
19 janvier 2017
2
Une petite correction pour que cela fonctionne :
Il y a :
Affecter les valeurs extraites de la requête SQL à l'objet Array() à l'aide d'une boucle for :
for (n=0;n<nbEnr;n++) {
pausecontent[n]=<?php="news_photos/".$img[n].",".$title[n].",".$text[n]?>;
}

Il faut :
Affecter les valeurs extraites de la requête SQL à l'objet Array() à l'aide d'une boucle for :
<?php $n=0; ?>
for (n=0;n<nbEnr;n++) {
pausecontent[n]=<?php="news_photos/".$img[$n].",".$title[$n].",".$text[$n]?>;
<?php $n++; ?>
}