autocomplete.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68 <article> <div id="principal"> <div id="titre_principal">Inscription</div> <form action="" method="post"> <table width="80%" align="center"> <tr> <td align="center" colspan="2"> <?php if(!empty($_POST['inscription'])) {extract($_POST); echo 'ligue ='.$ligue.' assoc = '.$association.' nom = '.$nom.' prenom = '.$prenom.' joueur = '.$joueur; echo Inscription::inscrire($nom,$prenom, $ligue, $association, $email, $passeUn, $passeDe); } ?> </td> </tr> <tr><td></td> <td><?php $co_bdd = new PDO('mysql:host=localhost;dbname=base', 'root', ''); $liste = $co_bdd->query('SELECT * FROM table_ligues'); echo '<select name="ligue" id="ligue_select" size="1"> <option value="0">Votre ligue ?</option>'; while($data = $liste->fetch()) {echo '<option value=';echo $data['Id_ligue'];echo '>'; echo $data['Nom_ligue']; echo '</option> '; } echo '</select>'; $co_bdd = new PDO('mysql:host=localhost;dbname=base', 'root', ''); $liste = $co_bdd->query('SELECT * FROM table_assos'); echo '<select name="association" id="asso_select" size="1"> <option value="0">Votre club ?</option>'; while($data = $liste->fetch()) {echo '<option value=';echo $data['Id_asso'];echo '>'; echo $data['Nom_asso']; echo '</option> '; } echo '</select>'; ?> </td> </tr> <tr><td>Entrer votre nom</td><td><?php include('autocomplete.php'); ?></td> </tr> <tr> <td align="center">Votre prénom</td> <td><input type="text" name="prenom" placeholder="prenom" size="25" /></td> </tr> <tr> <td>Votre email : </td> <td> <input type="text" name="email" placeholder="Votre email" size="25" /></td> </tr> <tr> <td>Saisir un Mot de Passe : </td> <td><input type="text" name="passeUn" placeholder="Saisir un mot de passe" size="25" /></td> </tr> <tr> <td>Resaisir le Mot de Passe :</td> <td><input type="text" name="passeDe" placeholder="Resaisir le Mot de Passe"size="25" /></td> </tr> <tr> <td> <input type="submit" value="Valider Inscription" name="inscription" class="input" /> <br /> </td> </tr> </table> </form> </div> </article>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 <link type="text/css" rel="stylesheet" href="http://dev.chez-syl.fr/autocomplete/css/jquery.autocomplete.css" /> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script> <script type="text/javascript" src="http://dev.chez-syl.fr/autocomplete/js/jquery.autocomplete.js"></script> <script type="text/javascript">$(document).ready(function() { $('#langages').autocomplete('./autocomplete.php'); });</script> Entrez votre nom : <input type="text" id="langages" placeholder="nom" size="25" /> <?php // si on reçoit une donnée if(isset($_GET['q'])) { $q = htmlentities($_GET['q']); // protection // connexion à la base de données try { $bdd = new PDO('mysql:host=localhost;dbname=base', 'root', ''); } catch(Exception $e) { exit('Impossible de se connecter à la base de données.'); } // écriture de la requête $requete = "SELECT nom FROM table_membres WHERE nom LIKE '". $q ."%' LIMIT 0, 10000"; // exécution de la requête $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo())); // affichage des résultats while($donnees = $resultat->fetch(PDO::FETCH_ASSOC)) { echo $donnees['nom'] ."\n"; } } ?>
Bonjour à tous,
Petit appel à l’aide ! Je n’arrive désespérément pas à finaliser le projet sur lequel je suis en train de travailler. Je crée un site avec un espace membres et une base de données sur MySqL. Jusqu’ici, tout va bien…
Sur mon site, il y a 2 cas de figure pour les nouveaux membres :
- soit ils sont inconnus dans la base et ils doivent compléter le fichier d’inscription complet (mais ça, ça fonctionne déjà ! Ouf !)
- soit leur nom est déjà dans ma base et j’aimerais dans ce cas qu’ils soient reconnus et enregistrés comme tels.
Via le formulaire d’inscription, un nouveau membre complète le champ nom et lorsque celui-ci est déjà dans ma base, un système d’autocompletion lui propose de choisir son nom… Ca aussi, ça fonctionne.
Mais à ce stade, je rencontre 3 difficultés :
- Comment récupérer l’id du membre sélectionné ?
- Comment traiter 2 membres ayant le même nom ?
- Comment faire pour que seuls les joueurs de tel club sélectionné de telle ligue soient affichés ?
Le formulaire d’inscription comprend les champs : nom, prénom, mail, mdp (+mdp pour vérif). Mais l’autocomplétion ne s’applique que pour le nom, pas le prénom.
Et là, j’avoue que je coince. Alors si qqn avait une piste qui me permettrait de voir la lumière au bout du tunnel, ben…. ce serait cool !
D’avance merci,
Fabrice
Partager