Bonjour,
J'aimerais afficher une suggestion de modification lors de la création d'une nouvelle société dans ma base mysql après avoir vérifié si celle-ci était déjà présente dans ma base.
Lorsqu'on quitte le focus du premier input texte, j'affiche un div avec les sociétés déjà présentent incluant un lien pour la page de modification.
Rien ne fonction... Une petite idée ?
Voici mon code:
le formulaire:
Code html : 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 <form id="aartisans" action="artisans-add.php" method="post"> <fieldset> <label for="artisan_societe_name">Nom de la Société de l artisan</label> <input id="artisan_societe_name" type="texte" name="societe_name" value="<?php echo $artisan_societe_name; ?>" /><br /> <div id="suggestionArtisan" style="display: none;"></div> <label for="artisan_firstname">Prénom</label> <input id="artisan_firstname" type="texte" name="firstname" value="<?php echo $artisan_firstname; ?>" /><br /> <label for="artisan_name">Nom</label> <input id="artisan_name" type="texte" name="name" value="<?php echo $artisan_name; ?>" /><br /> <input type="hidden" name="id" value="<?php echo $artisan_id; ?>" /> </fieldset> <p><input id="submitArtisan" type="submit" name="submitArtisan" value="Enregistrer" /> <input type="submit" name="cancel" value="Annuler" /></p> </form>
Le JS:
Le fichier verfifArtisan.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 <SCRIPT LANGUAGE="JavaScript"> function lookupArtisan(artisan_siciete_name) { if(artisan_siciete_name.length == 0) { // si le champs txte est vide $('div#suggestionArtisan').hide(); // on cache les suggestions } else { // sinon $.post("js/ajax/verifArtisan.php", {queryString: ""+artisan_siciete_name+""}, function(data){ // on envoie la valeur du champ texte dans la variable post queryString au fichier verifArtisan.php if(data.length >0) { $('div#suggestionArtisan').show(); // si il y a un retour, on affiche le div $('div#suggestionArtisan').html(data); // et on remplit les données html } }); } } $(document).ready( function () { // lorsque la page est entierement chargée $("input#artisan_siciete_name").blur( function() { // si on quitte le focus lookupArtisan($(this).val()) }); }); // End --> </script>
Code php : 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
69
70
71
72
73
74
75 <?php if(isset($_POST['queryString']) && $_POST['queryString'] != '') { $queryString = addslashes(trim($_POST['queryString'])); try { $pdo_options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); $bdd = new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASSWORD, $pdo_options); $req = $bdd->prepare("SELECT * FROM artisans WHERE artisan_societe_name = :societe_name"); $req => execute(array('societe_name' => $queryString)); $req->setFetchMode(PDO::FETCH_OBJ); $nbsoc = count($req); $i = 0; if($nbsoc > 0) { $soc = array(); echo '<div class="suggestions">'; if($nbsoc == 1) { echo '<strong>L\'artisan suivant est déjà enregistré :</strong>'; } else { echo '<strong>Les artisans suivants sont déjà enregistrés :</strong>'; } while ($line = $req->fetch() ) { $soc[$i] = = array('id' => $line->artisan_id, 'date' => $line->artisan_timestamp, 'lastupdate' => $line->artisan_lastupdate, 'type' => $line->artisan_type, 'societe_name' => $line->artisan_societe_name, 'firstname' => $line->artisan_firstname, 'name' => $line->artisan_name, 'adresse' => $line->artisan_adresse, 'cp' => $line->artisan_cp, 'ville' => $line->artisan_ville, 'gsm' => $line->artisan_gsm, 'tel' => $line->artisan_tel, 'email' => $line->artisan_email, 'siret' => $line->artisan_siret, 'condition_commerciale' => $line->artisan_condition_commerciale, 'type_travaux' => $line->artisan_type_travaux, 'classement' => $line->artisan_classement, 'commentaire' => $line->artisan_commentaire, 'courtier' => $line->artisan_courtier, 'dossier' => $line->artisan_dossier, 'zonegeo' => $line->artisan_zonegeo); echo '<a href="artisans-modif.php?modif='.$soc[$i]['id'].'" title="modifier l\artisan existant">'; echo '<p>'; echo '<strong>'.$soc[$i]['societe_name'].'</strong><br />'; echo $soc[$i]['firsname'].' '.$soc[$i]['name']; echo $soc[$i]['adresse'].' | '.$soc[$i]['cp'].' | '.$soc[$i]['ville']; echo '</p>'; echo '</a>'; $i++; } $req->closeCursor(); echo '</div>'; } } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } } ?>
Partager