Bonjour,
Je fais une modification à notre outil de gestion du club.
Au lieu de faire des choix déroulants pour chaque catégorie, je voudrait passer à 7 champs d'autocomplétion qui peuvent sélectionner tous les articles.
Mon script fonctionne très bien, mais vu la répétition du code, je me demande s'il n'y a pas moyen de simplifier cette partie :
La requête MySQL est dans cette page auto_choix_article.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 <script> $(function() { $("#article1").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); $(function() { $("#article2").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); $(function() { $("#article3").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); $(function() { $("#article4").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); $(function() { $("#article5").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); $(function() { $("#article6").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); $(function() { $("#article7").autocomplete({ source: "./pages/cours/autocompletion/auto_choix_article.php", minLength: 3, }); }); </script>
Les 7 articles sont sous forme d'un formulaire par une boucle et c'est évidemment l'ID qui rempli l'autocomplétion : je pourrais en mettre plus au besoin, la variable $nbr_autocompletion est en début de page
Le formulaire n'est pas encore à 100% terminé : je dois encore faire le premier mode de paiement sur "L" et faire tout en PHP (enlever l'HTML).
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 <?php $nbr_autocompletion=7; for ($z=1;$z<=$nbr_autocompletion;$z ++) { $nom_article='article'.$z; $paiement_article='paiement'.$z; $paiement_article_post='check'.$z; $$paiement_article_post='L'; if (isset($_POST[$nom_article]) && $_POST[$nom_article]!='') { $article=$_POST[$nom_article]; } else { unset($_POST[$paiement_article]); } print "<div class=\"div_right_20\">";?> <font class="texte_Bleu_11-1">L <input type="radio" name="<?php echo $paiement_article ?>" value="L" <?php if ($_POST[$paiement_article]=='L') { echo 'checked=checked'; } ?> /></font> <?php if ($s_prop_actif_type=='CA' || $s_prop_actif_type=='CE') {?> <font class="texte_Bleu_11-1">B <input type="radio" name="<?php echo $paiement_article ?>" value="B" <?php if ($_POST[$paiement_article]=='B') { echo 'checked=checked'; } ?> /></font> <?php } ?> <font class="texte_Bleu_11-1">BC <input type="radio" name="<?php echo $paiement_article ?>" value="BC" <?php if ($_POST[$paiement_article]=='BC') { echo 'checked=checked'; } ?> /></font> <?php print "</div>"; print "<div class=\"div_left_15\" align=\"right\">Article $z : </div>"; print "<input type=\"text\" name=\"$nom_article\" class=\"champ_form\" size=\"72\" id=\"$nom_article\" value=\"$article\" />"; print "<div class=\"div_space_5\"> </div>"; unset($article); } print "<div class=\"div_left_25\" align=\"right\"> </div>"; print "<div class=\"div_left_70\">"; print "<br /><span class=\"texte_GrisClair_11-1\">A partir de <strong>3 caractères</strong>, il y a une recherche automatique</span>"; print "</div>"; print "<div class=\"div_space_10\"> </div>"; ?>
En cas d'erreur dans l'envoi, je garde les valeurs envoyées ... rappeler le formulaire efface tout.
Serait-il possible de faire également une boucle comme le formulaire pour le script, avec la même variable de nombre ?
Merci pour votre aide
ddaweb
Partager