Bonjour � tous,
J'ai une fonction (c'est de l'AJAX, mais ma question est plus orient� javascript)
qui lance une fonction ajax. Quand on est en mode readystate il execute une fonction javascript deroulant_opem.
A ce moment l�, j'ai besoin de savoir le dernier enregistrement de la base de donn�e.
J'ai donc ajout� le code qui se trouve juste en dessous de la fonction deroulant_open();
Dans mon developpement, quand je clique sur le boutton "ajouter clients" il va appelle a la fonction update_client(val) et val aura pour valeur "add".
Donc quand je clique sur le boutton "ajouter client", j'ai une requette MYSQL qui va chercher la valeur du dernier enregistrement.
Une fois le secipt termin�, j'ai un nouveau cient dans ma base de donn�, et si j'ajoute encore un client, la variable last_entry devrait me retourner une valeur plus grande (de +1) que la pr�cd�dente insertion, puisque c'est une autre nouvelle insertion.
Le probl�me c'est que last_entry me retourne toujours le m�me nombre, m�me s'il y a eu de nouvelle entr�e.
Pour pas que ce probl�me se produit, je dois rafr�chir ma page..
Alors je me suis demand� si le requete MYSQL est ex�cut� au chargement de la page uniquement, et pas � l'appelle de la fonction.
Comment pourrais-je faire alors pour que la last_entry correspond toujours au dernier enregistrement r�el effectu� dans la base de donn�e?
Code JAVASCRIPT : 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 function update_client(val){ //http://siddh.developpez.com/articles/ajax/ var xhr = getXhr(); // INSTENTIEE IN js/getXhr.js // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ // On ne fait quelque chose que si on a tout reçu et que le serveur est ok if(xhr.readyState == 4 && xhr.status == 200){ leselect = xhr.responseText; // On se sert de innerHTML pour rajouter les options a la liste document.getElementById('error-display').innerHTML = leselect; deroulant_open(); if(val=="add"){ last_entry = <?php include($root.'sql/db_connect.php'); $sql_last = "SELECT max(id_clients) FROM tb_clients"; $query_last = mysql_query($sql_last)or die(mysql_error()); $data_last=mysql_fetch_assoc($query_last); echo $data_last['max(id_clients)']; ?>; //last_entry=last_entry+1; $("#id_client").val(last_entry); $("span#client_id").html(last_entry); alert(last_entry); } }else{ } } [.. suite de la du code]
Merci pour vos lumi�res
Partager