Bonjour, je suis soumis à un cas d'école, mais étant débutant je patauge un peu.
J'ai un fichier php avec un select, une fonction ajax qui me permet d'actualiser un deuxième select en faisant appel à un deuxième fichier php qui s'actualise en fonction du choix du select un
structure du fichier php principal :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <select id ="CLIENT" onchange="montrercontactsdevis()"> <option value="client1">1</option> <option value="client2">2</option> <option value="client3">3</option> </select> <div id="Contact1"> </div>
fonction ajax appelée :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function montrercontactsdevis() { new Ajax.Updater('Contact1', 'listes/contactdevis.php' , { method: 'get', parameters: { client: $F('CLIENT') } } ); };
fichier php appelé par la fonction ajax : 'listes/contactdevis.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 <?php require_once('../Connections/webgest.php'); mysql_select_db($database_webgest, $webgest); $clicli = $_GET['client']; $query_CONTACT = "SELECT * FROM contacts WHERE CLIENT='$clicli' AND CORBEILLE !='1'"; $CONTACT = mysql_query($query_CONTACT, $webgest) or die(mysql_error()); $row_CONTACT = mysql_fetch_assoc($CONTACT); ?> <select id="lecontact"> <?php do {?> <option value="<?php echo $row_CONTACT['NUMCONTACT']; ?>"><?php echo $row_CONTACT['PRENOM']." ".strtoupper($row_CONTACT['NOM']); ?></option> <?php ; } while ($row_CONTACT = mysql_fetch_assoc($CONTACT)); ?> </select>
Bilan de la chose :
mon deuxième select s'actualise bien à l'écran, j'ai bien une mise à jour qui est effectuée, et à l'écran tout fonctionne. Sauf qu'après l'actualisation du deuxième select, mon code source de la page principale est inchangé, et je ne peux envoyer la valeur du select "lecontact" via un formulaire, puisqu'il n'apparait pas dans le code source.
J'imagine que la structure n'est pas correcte, mais je n'ai pas trop d'idée, et je ne sais pas quelle est la bonne méthode à utiliser. Et vous ?
Merci
Partager