Formulaire jquery
RésoluJe ne sais pas trop comment mettre mon titre alors je l'ai appelé "formulaire jquery".
Et en plus je vais avoir du mal à vous expliquer mon problème que je n'arrive pas à résoudre j'espère que vous allez pouvoir me comprendre quand même.
Il faut que je développe un formulaire avec nom et prénom et lorsque j'ai rentré les 2 éléments en cliquant sur un bouton que je vais appelé "test homonyme" ça me liste tous les homonyme de ma BDD en jquery pour ne pas recharger la page,
sinon pas d'homonyme alors je clique sur envoyer.
Merci de m'aider un peu la-dessus je suis perdu.
40 réponses
Un formulaire jquery permet de saisir nom et prénom, et un bouton intitulé 'test homonyme' affiche en AJAX les homonymes présents dans la base de données sans rechargement de la page. La solution repose sur une requête AJAX via jQuery.post, où la fonction de rappel reçoit data au format JSON et où json_encode transforme le tableau PHP en JSON pour le parcourir en JavaScript. drawTab(data) affiche le tableau HTML en parcourant le tableau associatif reçu et extrait les noms et informations, et la gestion côté PHP renvoie le résultat via json_encode. D'autres échanges indiquent que l'affichage des homonymes peut être étendu pour inclure les dates de naissance et les adresses afin d'identifier d'éventuels doublons entre informations similaires.
-
Bonjour
C'est "cliquedecruet.fr"
soit indulgent.... -
Bonjour
Merci pour tes tutos je suis à près de regarder.
En fait je suis président d'une association de musique et je veux refaire un peux mieux un site que j'ai déjà fait.
Merci -
salut,
voici un cours sur le php objet : http://www.cijoint.fr/cjlink.php?file=cj201107/cijI2fkYh8.pdf
Si t'as déjà fait de POO tu trouvera ça facile.
Un autre avec une partie sur le PDO : http://www.cijoint.fr/cjlink.php?file=cj201107/cijSRWMirx.pdf
C'est un projet d'étude que tu fait ou c'est pour ton propre compte? -
Bonjour
Un grand merci de ton aide finalement ça fonctionne à merveille.
Sans ton aide je n'y serai pas arrivé.
Merci beaucoup.
PS Je vais lancer un nouveau topic mais avant je voudrais savoir si tu peux me donner quelques idée, quelques infos sur......
J'ai créé un site tout ce qu'il y a de plus classique.
Et maintenant je souhaite faire un espace membre et intégrer du PHP5 avec class, PDO etc...
Avec plusieurs membres avec différents accès pour différentes pages.
Si tu as des tutos la_dessus car je ne sais pas par quel bout commencer.
Merci et bon Dimanche -
Alors , ta réussi à régler le problème?
-
Envoie moi un extrait de ta base de données (fais un export en sql dans phpmyadmin) , je t'ai envoyé mon adresse mail en message privé, comme ça je pourrai testé ta requete.
Rempace le post par get dans requete.php et tape http://localhost/requete.php?nom=dupor dans un navigateur et dit moi ce que ça donne. -
Bonjour
<?php $per_phy__nom = mysql_real_escape_string($_POST['nom']); $per_phy__prenom = mysql_real_escape_string($_POST['prenom']); $tableau = array(); $tableau1 = array(); $query = "SELECT lindy_t_per_phy.per_phy__nom, lindy_t_per_phy.per_phy__prenom, lindy_t_per_phy.per_phy__date_naissance, lindy_t_per_phy.per_phy__num_insee, lindy_t_per_phy.per_phy__uid, lindy_t_adr_phy.adr_phy__adresse, lindy_t_adr_phy.adr_phy__ville, t1.can_com__data AS mailperso, t2.can_com__data AS mobperso FROM lindy_t_per_phy LEFT JOIN lindy_t_adr_phy ON lindy_t_per_phy.per_phy__id = lindy_t_adr_phy.per_phy__id LEFT JOIN lindy_t_can_com AS t1 ON ( lindy_t_per_phy.per_phy__id = t1.per_phy__id AND t1.can_com__liste_type = 8 ) LEFT JOIN lindy_t_can_com AS t2 ON ( lindy_t_per_phy.per_phy__id = t2.per_phy__id AND t2.can_com__liste_type = 2 ) WHERE lindy_t_per_phy.per_phy__nom LIKE '$per_phy__nom%' $cond ORDER BY lindy_t_per_phy.per_phy__nom ASC, lindy_t_per_phy.per_phy__prenom ASC"; $resultat = mysql_query($query); if($resultat){ while($user=mysql_fetch_array($resultat,MYSQL_ASSOC)){ foreach($user as $cle => $valeur){ $tableau1[$cle]=$valeur; } $tableau[] = $tableau1; } } } else{ echo "Erreur : " . mysql_error(); } if(!empty($tableau)) echo json_encode($tableau); mysql_close($connexion); -
Salut,
Désolé j'étais occupé dernièrement.
J'ai testé ton code et quand je tape un nom d'utilisateur qui existe il m'affiche le tableau avec l'utilisateur et quand je rajoute une lettre à se nom il se vide, il reste juste la première ligne avec les noms de colonnes.
Donc je pense que ça vient du code php, tu peux me le montrer? -
Bonjour
Excuse moi de te déranger.
En ce qui concerne pour le rajout des lignes du tableau c'est ok j'y suis arrivé.
Il me reste cette histoire lorsqu'on rajoute 1 lettre le tableau ne se vide pas dans l'hypothèse ou il n'y a pas de nom correspondant à cette lettre.
Je te donne mon script si tu peux encore m'aider.
Je te remercie
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="style.css"/> <script type="text/javascript" charset="utf-8"> $(document).ready(function(){ function drawTAb(data){ $("#resultat").children().remove(); $("#resultat").append('<table id="tableau"><tr><th colspan=2></th><th>Nom</th><th>Prénom</th><th>Date de naissance</th><th>EmailPerso</th><th>Tél.mobile</th><th>Adresse</th><th>Ville</th><th>Numéro INE</th><th>Numéro INSSE</th><th>UID</th></tr>'); for(var user in data){ $("#resultat").append('<tr><td><a href="#"><img src="image/make_link.png" border="0" width="22" height="22" alt="make_link"/></a></td><td><a href=""><img src="image/info.png" border="0" width="22" height="22" alt="info"/></a></td><td>'+data[user]['per_phy__nom']+'</td><td>'+data[user]['per_phy__prenom']+'</td><td>'+data[user]['per_phy__date_naissance']+'</td><td>'+data[user]['mailperso']+'</td><td>'+data[user]['mobperso']+'</td><td>'+data[user]['adr_phy__adresse']+'</td><td>'+data[user]['adr_phy__ville']+'</td><td>'+data[user]['per_phy__ine']+'</td><td>'+data[user]['per_phy__insee']+'</td><td>'+data[user]['per_phy__uid']+'</td></tr></table>'); } } $("#homonyme").click(function(){ $.post("requete.php",{nom: $("#per_phy__nom").val(), prenom: $("#per_phy__prenom").val()}, function(data){drawTAb(data);},"json"); }); function get_homonyme(){ var nom = $("#per_phy__nom").val(); var prenom = $("#per_phy__prenom").val(); if( nom.length >= 4 || (nom.length >= 1 && prenom.length >= 1) ){ $.post("requete.php",{ nom: $("#per_phy__nom").val() , prenom: $("#per_phy__prenom").val() }, function(data){drawTAb(data);},"json"); } else { $("#resultat").children().remove(); } } //la fonction "bind" permet de lier une action à un événement //la fonction "keyup" fait son traitement à chaque siasie clavier $('#per_phy__nom').bind('input paste',get_homonyme); $('#per_phy__nom').bind('keyup click',get_homonyme); $('#per_phy__prenom').bind('input paste',get_homonyme); $('#per_phy__prenom').bind('keyup click',get_homonyme); }); </script> </head> <body> <form method="post" action="" id="login_form"> <fieldset> <legend>Chercher un nouvelle utilisateur :</legend> <label for="nom">Nom :</label> <input type="text" style="background-color: rgb(238, 238, 238); border: 1px solid rgb(0, 153, 221);" name="per_phy__nom" id="per_phy__nom" value=""/> <label for="comments">Prénom :</label> <input type="text" style="background-color: rgb(238, 238, 238); border: 1px solid rgb(0, 153, 221);" name="per_phy__prenom" id="per_phy__prenom" value=""/> <span class="icone"><img src="image/new.png" border="0" width="21" height="21" alt="make_link" valign="middle"/></span> </fieldset> <p> <input name="homonyme" type="button" id="homonyme" value="Forcer le test"/></br></br> </p> <p> <table id="resultat" border=1></table> </p> </form> </body> </html>
-
Bonjour
Je me permet de revenir vers toi.
Voilà je veux ajouter 1 ligne dynamiquement dans le tableau à l'endroit où je clique mais malheureusement mes lignes se rajoute à la fin du tableau.
Peux tu m'aider aussi pour ça.
function CreationNouvelleLigne(){ var tableau=document.getElementById("ligne"); var ligne=document.createElement("tr"); var col=document.createElement("td"); col.setAttribute("colspan", "12"); tableau.appendChild(ligne); }
et voici mon lien<a href="javascript:CreationNouvelleLigne();">
Merci beaucoup -
Bonjour
oui c'est ça pour voir si c'est pareil que ton explication par exemple j'ai...
dupont, j'écris dupo ça affiche mais si je rajoute par exemple un r pour la cinquième lettre le tableau reste affiché malgrès qu'il n'y a pas de "dupor
Je peux t'envoyer mon fichier?
Merci -
Parce que chez moi j'ai un utilisateur avec le nom "lenon" et quand j'ecrit lenon dans le input le tableau s'affiche mais quand j'ajoute une lettre le tableau disparait.Pareil pour le prenom
C'est ce que tu veux? ou peut être j'ai compris ce que tu voulais dire. -
Bonjour
Non pourquoi??? -
Bonjour wolves'sbrother,
J'aurai une petite dernière chose à te demander s'il te plait.
Lorsque par exemple on tape 4 lettres ça affiche le tableau avec tous les noms qui commence par ses 4 première lettres.
Et je voudrais également si c'est possible lorsqu'on rajoute 1 lettre derrière que rien ne s'affiche si il n'existe pas de noms avec ses 5 première lettre alors que là la liste reste affiché avec les 4 première lettre.
Je ne sais pas si j'ai bien expliqué et c'est une nouvelle fois très sympa si tu peux me faire ça.
Je te remercie beaucoup. -
Bonjour
He oui j'avais fait une grosse boulette
c'est nickel chrome ça fonctionne à merveille
Merci mille fois merci -
Tu peux poster le code php que t'as modifié?
-
ça me renvoie cette erreur
Error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' per_phy_' at line 14
j'ai mis exactement les noms de colonnes que dans ma BDD
c'est pour ça que ça retourne "per_phy_ etc
en fait c'est le début de mes noms de colonnes "per_phy__nom"
mais j'ai changé correctement tous mes champs.
mes 2 fichiers sont dans le même répertoire. -
C'est bizarre parce que j'ai testé le code et ça marche.
T'a bien remplacer $("#result").remove(); par $("#result").children().remove();
Si tu l'as fait et que ça ne marche toujours pas, remplace $_POST par $_GET dans le fichier php et dans 1 navigateur tape l'url :
http://localhost/requete.php?nom=lenon&prenom=john
Si le fichier requete.php est dans un autre répertoire que WWW, ajoute son nom après localhost, et dit moi ce que ça donne. -
Bonjour
Dis moi voir dans le WHERE le AND n'est peut-être pas bien au bon endroit?
Et dans le fonction get_anonyme c'est pas "var nom" au lieu de juste nom.
Tout me parait très très logique les requètes mais je n'arrive pas à voir pourquoi cela ne fonctionne pas.
Merci beaucoup -
je te remercie.
oui j'ai bien compris y a pas de problème j'essaie dès demain matin.
A demain
Merci
- 1
- 2