Probleme requete PHP & javascript
Résolu/Fermé
killingspree
Messages postés
30
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
11 février 2008
-
11 janv. 2008 à 15:03
lola3265 - 8 juin 2008 à 17:50
lola3265 - 8 juin 2008 à 17:50
A voir également:
- Probleme requete PHP & javascript
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Javascript void 0 c'est quoi ✓ - Forum Réseaux sociaux
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
8 réponses
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
12 janv. 2008 à 01:03
12 janv. 2008 à 01:03
Hello et félicitations pour ton inscription récente sur le forum !
En fait je me demande... quand tu sélectionnes la liste des noms utilisateurs, pourquoi ne pas récupérer aussi les autres informations comme le login ?
Par exemple tu ferais une requête similaire à :
SELECT nom, login FROM t_utilisateurs
Puis tu déclarerais deux tableaux en JavaScript (ou un tableau d'objets utilisateur, c'est comme tu le sens) que tu alimenterais par les valeurs de "nom" et "login" obtenues par la requête SQL.
Ainsi on choisissant le nom d'indice "n" dans ta liste actuelle de sélection, tu sauras que tu pourras alimenter le champ texte "login" à l'aide de la valeur contenue à l'indice "n" du tableau des login (ou de la propriété "login" de l'objet utilisateur située à l'indice "n" dans le tableau si tu as opté pour une conception orientée objet).
Voilà une idée pour t'aider à avancer.
En fait je me demande... quand tu sélectionnes la liste des noms utilisateurs, pourquoi ne pas récupérer aussi les autres informations comme le login ?
Par exemple tu ferais une requête similaire à :
SELECT nom, login FROM t_utilisateurs
Puis tu déclarerais deux tableaux en JavaScript (ou un tableau d'objets utilisateur, c'est comme tu le sens) que tu alimenterais par les valeurs de "nom" et "login" obtenues par la requête SQL.
Ainsi on choisissant le nom d'indice "n" dans ta liste actuelle de sélection, tu sauras que tu pourras alimenter le champ texte "login" à l'aide de la valeur contenue à l'indice "n" du tableau des login (ou de la propriété "login" de l'objet utilisateur située à l'indice "n" dans le tableau si tu as opté pour une conception orientée objet).
Voilà une idée pour t'aider à avancer.
killingspree
Messages postés
30
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
11 février 2008
1
14 janv. 2008 à 10:36
14 janv. 2008 à 10:36
hello,
Oui Posotaz, je vois ce que tu veux dire et cette solution me parait correcte mais etant débutant en javascript je ne sais pas trop comment créer un tableau en javascript et surtout l'alimenter à partir du résultat d'une requete en php.
pour créer le tableau et l'alimenter, j'ai trouvé :
var montableau = new array();
MonTableau = ["donnée 1", "donnée 2", "donnée 3", "donnée 4"];
jusque la il n'y a pas trop de soucis mais c'est pour l'alimenter avec les résultats de la requete que je coince. Aurais-tu des pistes ?
Merci par avance.
Oui Posotaz, je vois ce que tu veux dire et cette solution me parait correcte mais etant débutant en javascript je ne sais pas trop comment créer un tableau en javascript et surtout l'alimenter à partir du résultat d'une requete en php.
pour créer le tableau et l'alimenter, j'ai trouvé :
var montableau = new array();
MonTableau = ["donnée 1", "donnée 2", "donnée 3", "donnée 4"];
jusque la il n'y a pas trop de soucis mais c'est pour l'alimenter avec les résultats de la requete que je coince. Aurais-tu des pistes ?
Merci par avance.
salut,
moi quand je fais une liste déroulante pour récupérer la valeur sélectionnée dans la liste par on change je récupère comme un post.
Mais est ce que c'est ça que tu n'arrives pas à faire? j'avoue que je n'ai pas bien compris ta question..
moi quand je fais une liste déroulante pour récupérer la valeur sélectionnée dans la liste par on change je récupère comme un post.
Mais est ce que c'est ça que tu n'arrives pas à faire? j'avoue que je n'ai pas bien compris ta question..
killingspree
Messages postés
30
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
11 février 2008
1
11 janv. 2008 à 15:34
11 janv. 2008 à 15:34
Oui moi, aussi j'arrive à récupérer la valeur de la liste déroulante grace a la methode POST. Mais ce que je veux faire, c'est remplir des champs text en fonction d'une valeur sélectionnée dans la liste déroulante !
Est-ce que c'est plus clair ?
Est-ce que c'est plus clair ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
15 janv. 2008 à 19:51
15 janv. 2008 à 19:51
Hello,
Bien sûr, voici pour toi :
Comme ça tu as tes deux tableaux et tu sais qu'au nom d'indice n correspond le login d'indice n également.
En JavaScript tu peux facilement créer un tableau et lui ajouter des éléments sans te soucier de devoir spécifier sa taille par avance.
PS : J'ai omis la distinction entre le code HTML (plutôt Javascript) et le code PHP, je penses que tu as compris ce qui appartient à quoi et où placer les balises appropriées.
Bien sûr, voici pour toi :
var i=0; // indice des tableaux initialisé au début while($row = msql_fetch_array($resultatRequete) { // tant qu'on a une ligne suivante dans le résultat de la requête tabNoms[i] = $row['nom']; // alimente le tableau des noms tabLogins[i] = $row['login']; // alimente le tableau des logins i++ ; // passe à l'indice suivant }
Comme ça tu as tes deux tableaux et tu sais qu'au nom d'indice n correspond le login d'indice n également.
En JavaScript tu peux facilement créer un tableau et lui ajouter des éléments sans te soucier de devoir spécifier sa taille par avance.
PS : J'ai omis la distinction entre le code HTML (plutôt Javascript) et le code PHP, je penses que tu as compris ce qui appartient à quoi et où placer les balises appropriées.
superpigeon
Messages postés
20
Date d'inscription
lundi 14 janvier 2008
Statut
Membre
Dernière intervention
29 octobre 2009
11
16 janv. 2008 à 00:19
16 janv. 2008 à 00:19
Cette solution fonctionne mais le code de création du tableau aura vite tendance à occuper pas mal d'espace.
Donc si c'est pour une petite structure avec peu d'utilisateurs, ça va, mais si c'est pour un site en regroupant des miliers, on aura vite un temps chargement très long. Et dans ce cas il vaudra mieux utiliser une solution à base d'ajax.
MAis si c'est pour un petit nombre d'utilisateurs (disons, moins de 100) c'est parfait ;)
Donc si c'est pour une petite structure avec peu d'utilisateurs, ça va, mais si c'est pour un site en regroupant des miliers, on aura vite un temps chargement très long. Et dans ce cas il vaudra mieux utiliser une solution à base d'ajax.
MAis si c'est pour un petit nombre d'utilisateurs (disons, moins de 100) c'est parfait ;)
killingspree
Messages postés
30
Date d'inscription
vendredi 11 janvier 2008
Statut
Membre
Dernière intervention
11 février 2008
1
16 janv. 2008 à 13:54
16 janv. 2008 à 13:54
Merci à vous pour ces réponses, cela fonctionne pas de soucis, pour le nombre d'utilisateurs, il est d'environ 290/300 donc cette solution me convient du moins pour le moment.
Merci encore à vous deux, je mets donc ce problème en résolu :) !
recapitulatif de la solution :
var i=0; // indice des tableaux initialisé au début
while($row = msql_fetch_array($resultatRequete) { // tant qu'on a une ligne suivante dans le résultat de la requête
tabNoms[i] = $row['nom']; // alimente le tableau des noms
tabLogins[i] = $row['login']; // alimente le tableau des logins
i++ ; // passe à l'indice suivant
}
Merci encore à vous deux, je mets donc ce problème en résolu :) !
recapitulatif de la solution :
var i=0; // indice des tableaux initialisé au début
while($row = msql_fetch_array($resultatRequete) { // tant qu'on a une ligne suivante dans le résultat de la requête
tabNoms[i] = $row['nom']; // alimente le tableau des noms
tabLogins[i] = $row['login']; // alimente le tableau des logins
i++ ; // passe à l'indice suivant
}