Bonjour,
je sollicite votre aide pour un problème qui m'occupe depuis plusieurs semaines
j'ai un formulaire avec 5 combo box qui recharge la page à chaque fois me faisant perdre le résultat des premières
j'avais trouvé une function en JS qui permettait de lire une base mysql sans rechargement
j'ai bien un résultat, mais je ne vois pas comment construire mes combobox.
si une âme charitable pouvait me donner un coup de main, c'est la seule chose qui me manque pour terminer une gestion d'association
mon code d'appel de la function:
Ma fonction
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 / Déclare un tableau associatif javascript de la forme // tableau["nomchamp"][n°ligne] == valeur // contenant le résultat d'une requête mysql. // $requete : chaine de caractères contenant la requête mysql à lancer. // $id_table : nom de la variable tableau à déclarer en javascript. //----------------- connexion BdD et Tables -------------------------- include("_connect7.php"); $table="types_cotisation"; //-------------------------------------------------------------------- //prepartion de la requete à envoyer à la function $requete= "SELECT `id_type_cotis`, `libelle_type_cotis` FROM `$table`"; //id à passer à la requete $id_table="id_type_cotis"; //nom de l'id de la table //-------------------------------------------------------------------- //appel de la fonction JavaScript //-------------------------------------------------------------------- mysql_to_js ($requete, $id_table); //Traitement du return de la function dans une combobox // // ?>
le résultat de sortie pour faire la combo
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 //******************************************************************** //-------------------------------------------------------------------- // fonction JavaScript mysql_to_js //-------------------------------------------------------------------- //******************************************************************** ?> <script language="JavaScript" type="text/javascript"> <?php function mysql_to_js($requete, $id_table) { include("_connect7.php"); // ------------------ Requête mysql ---------------------------------- //echo $requete;echo"<br />"; test reception requete $result = mysqli_query($SQL,$requete) or die('Erreur SQL ! ----->'.$result.' '.mysqli_error($SQL).$requete); $taille = mysqli_num_rows($result); //echo $taille;echo"<br />";// test ok retourne nombre ecritures trouvées 7 //-------------------------------------------------------------------- // Ecriture de la déclaration du tableau javascript si la requête // contient quelque chose, sinon déclaration d'un tableau null. //-------------------------------------------------------------------- $numfields = mysqli_num_fields($result); // retourne le nombre de champs (colonnes) //echo $numfields;echo"<br />";// test ok retourne 2 colonnes if($numfields > 0) { // Déclaration de la variable tableau. echo("var ".$id_table." = new Array(".$numfields.");\n"); // Déclaration des tableaux de valeurs pour chaque champs. for($i=0; $i<$numfields; $i++) { echo($id_table."['".mysql_field_name($result, $i)."'] = new Array(".$taille.");\n"); echo"<br />"; //echo"<br />"; } if($taille>0) // si un resultat est trouvé { echo "<br />"; $i=1; //i=0 while($rows = mysqli_fetch_assoc($result)) { foreach($rows as $key => $value) { // echo'<pre>';print_r($rows); echo'</pre>'; echo($id_table."['".mysqli_escape_string($SQL,$key)."'][".$i."] = '".mysqli_escape_string($SQL,$value)."';<br >"); //echo"<br />"; //return ($return); // facultatif } $i++; } mysql_free_result($result); } } else echo("var ".$id_table." = null;\n"); } ?> </script>
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 var id_type_cotis = new Array(2); id_type_cotis[''] = new Array(7); id_type_cotis[''] = new Array(7); id_type_cotis['id_type_cotis'][1] = '1'; id_type_cotis['libelle_type_cotis'][1] = 'Adhesion Internet+Axona'; id_type_cotis['id_type_cotis'][2] = '2'; id_type_cotis['libelle_type_cotis'][2] = 'Adhésion Internet Simple'; id_type_cotis['id_type_cotis'][3] = '3'; id_type_cotis['libelle_type_cotis'][3] = 'Membre Bienfaiteur Internet+Ax'; id_type_cotis['id_type_cotis'][4] = '4'; id_type_cotis['libelle_type_cotis'][4] = 'Membre Bienfaiteur+Internet'; id_type_cotis['id_type_cotis'][5] = '5'; id_type_cotis['libelle_type_cotis'][5] = 'Abonnement AXONA sans Adhésion'; id_type_cotis['id_type_cotis'][6] = '6'; id_type_cotis['libelle_type_cotis'][6] = 'Donateurs'; id_type_cotis['id_type_cotis'][7] = '7'; id_type_cotis['libelle_type_cotis'][7] = 'Adh Gratuite ou Couple';
Partager