Bonjour,
ma page se sépare en deux parties :
- un formulaire permettant de définir mes critères
- un div dans lequel je charge une page php via Ajax
le but est de pouvoir utiliser cette page indéfiniement : un bouton réinitialiser pour remettre le formulaire par défaut, et donc relancer l'affichage avec des critères différents.
Pour le moment je travaille avec un seul critère : au changement de valeur dans la liste, je stocke cette valeur dans ma base. Sur clic du bouton "rechercher" j'appelle via Ajax ma page php qui affiche le tableau des résultats filtrés selon le critère enregistré dans la bdd.
Sous Firefox, pas de problème pour faire plusieurs recherches d'affilée.
Sous IE6, la première recherche passe, mais pour unenouvelle recherche je suis obligé de fermer IE et de le relancer
mon appel de fonction :
mon script ajax :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <a href="?liste" onclick="load_page(this.href);return false;">test</a>
ma page 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
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
76
77
78
79 /************************************************* Fonction de definition de l'object xhr **************************************************/ function new_xhr(){ var xhr_object = null; if(window.XMLHttpRequest) // Firefox et autres xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr_object = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr_object = false; } return xhr_object; } /***************************************************** Fonction qui va recharger le contenu ******************************************************/ function load_page(select) { var xhr2 = new_xhr();//On crée un nouvel objet XMLHttpRequest xhr2.onreadystatechange = function(){ if ( xhr2.readyState == 4 ){//Actions executées une fois le chargement fini if(xhr2.status != 200){//Message s'il se produit une erreur document.getElementById("lister").innerHTML ="Error code " + xhr2.status; } else {//On met le contenu du fichier externe dans la div "lister" document.getElementById("lister").innerHTML = xhr2.responseText; //SetInnerHTML(document.getElementById("lister"), xhr2.responseText) } } else {//Message affiché pendant le chargement document.getElementById("lister").innerHTML = "Chargement en cours ..."; } } xhr2.open("GET", select.split('?')[1]+".php", true);//Appel du fichier externe xhr2.send(null); }
merci d'avance
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83 <hr color="#B9D755" width=80% align="left" /> Résultats de la recherche :<p /> <? include ("scripts/connexion.inc"); $query = "SELECT mani FROM choix;"; $result = mysql_query ($query) or die ("La recherche a échoué"); $chp = mysql_fetch_array($result); if ($chp["mani"]==0) { $query = "SELECT agenda.numAg, agenda.manif, agenda.dateAg, agenda.ville, agenda.titre, manif.lib FROM agenda, manif WHERE agenda.manif=manif.numM GROUP BY manif, numAg;"; } else { $query = "SELECT agenda.numAg, agenda.manif, agenda.dateAg, agenda.ville, agenda.titre, manif.lib FROM agenda, manif, choix WHERE agenda.manif=manif.numM AND manif.numM=choix.mani GROUP BY manif, numAg;"; } $result = mysql_query ($query) or die ("La recherche a échoué"); $chp = mysql_fetch_array($result); ?> <table border="0" width="80%" cellpadding="0" cellspacing="0"> <? $manif=htmlentities($chp["lib"]); $numM=$chp["manif"]; echo '<tr><td colspan="2" class="manif"><a href="agenda.php?numM='.$numM.'"" class="lienmanif">'.$manif.'</a></td></tr>'; echo '<tr><td class="lienville">'.htmlentities($chp["ville"]).'</td><td class="lienville">'.htmlentities($chp["dateAg"]).'</td></tr>'; echo '<tr><td colspan="2" class="lientitre">'.htmlentities($chp["titre"]).'</td></tr>'; while ($chp = mysql_fetch_array($result)) { if ($manif!=htmlentities($chp["lib"])) { $manif=htmlentities($chp["lib"]); $numM=$chp["manif"]; echo '<tr><td colspan="2" class="manif"><a href="agenda.php?numM='.$numM.'"" class="lienmanif">'.$manif.'</a></td></tr>'; } echo '<tr><td class="lienville">'.htmlentities($chp["ville"]).'</td><td class="lienville">'.htmlentities($chp["dateAg"]).'</td></tr>'; echo '<tr><td colspan="2" class="lientitre">'.htmlentities($chp["titre"]).'</td></tr>'; } ?> </table>
Partager