8791 sujets

Développement web côté serveur, CMS

Bonjour

Je me tourne vers vous aprés de longues heures de recherche pour essayer de solutionner mon pb.
Je m'explique, j'ai une requete SQL qui me retourne une liste de clients en fonctions de plusieurs critéres.

Ensuite une boucle While m'affiche toutes les info que je souhaite. (Nom, prénom....) avec un bouton de type submit pour voir la "fiche" du client. Je suis arrivé a construire ma liste en fonction des clients avec le bouton submit en face. Quand on clique sur le bouton, la page transmet a javascript la valeur d'un ID. Cependant quand je clique que n'importe quel bouton (je part du principe que la requete SQL me retourne plusieurs clients.), la valeur transmise a javascript est tjs celle du premier client. Et c'est la que je séche pour trouver d'ou vient le pb. Contant sur une personne pour m'aider

Merci

Voici le code HTML simplifié :

while ($client = mysql_fetch_array($resultat_client)) {
                                                                                echo '<form method="post" onSubmit="javascript:AfficheFiche()" action="#">';
                                                                                echo '<p>';
                                                                                echo '<input type="text" value="'.client[0].'" id="NumCliFiche">';
                                                                                echo '<input type="submit" value="Voir la fiche">';
                                                                                echo '</p>';
                                                                                echo '</form>';
                                        }


Voila le code JS :
var AjaxNumCliFiche = 'AjaxNumCliFiche=' + document.getElementById('NumCliFiche').value;
alert(AjaxNumCliFiche);
 


et pour finir la requete SQL :

SELECT id, num_client, nom_client, prenom_client, adresse_client, cp_client, ville_client FROM clients where $PhpChxRecherche='$PhpClientInformation';
Modifié par adrienb4 (15 Jun 2010 - 19:41)
Bonjour,

Si je comprends bien ton bout de code, il reproduit le même formulaire pour chacun des clients.
De ce fait, tous les boutons ont le même identifiants "NumCliFiche".

Il est donc normal que Javascript ne s'y retrouve pas.

J'aurais plutôt vu un truc du genre :

while ($client = mysql_fetch_array($resultat_client)) { 
echo '<button onClick="AfficheFiche('.$client[0].')">Voir la fiche</button>';
} 


En passant en paramètre le client à la fonction javascript.

en espérant t'avoir aider Smiley cligne
Bonjour et merci pour ta reponse.

Cependant je ne vois pas pourquoi mon bout de code ne marche pas et pourquoi Javacscript ne s'y retrouve pas.
Peut tu m'expliquer un peu plus stp ?

Merci
Je vais essayer de faire simple :

Tu définis dans ton code des formulaires avec les balises <form>
Pour chaque client tu attribue un formulaire.
Ils contiennent tous la même chose : une zone de texte et un bouton submit.

Le problème provient du fait que tous les éléments répétés ont le même identifiant.
imageons le problème :

Tu es professeur dans une classe de 35 élèves qui s'appellent tous Martin.
Lorsque tu fais l'appel, et que tu appelle Martin, ils répondent tous.
Javascript, lui se dit, je prends le premier Martin que je rencontre et les autres je ne m'en occupe pas.

De plus, dans ton exemple, tu créé un formulaire pour chaque enregistrement de la requête, ce n'est pas franchement utile. Ce que tu veux, si j'ai bien compris, c'est afficher une fiche client en cliquant sur un bouton ou un lien. Et dans ce cas, tu alourdis ta page pour pas grand chose.

je reste dans les parages si mes explications ne sont pas assez claires Smiley cligne
J'avais résolu mon pb avec ta premiere reponse mais en ne sachant pas pourquoi mon code avait ce comportement. Maintenant avec tes explications je pige tout et cela fonctionne Smiley smile

Un grand merci a toi Smiley smile