Bonjour, j'ai un moteur de recherche et je souhaite trouver la bonne façon de faire pour
afficher mes résultats sous forme de pagination, mais je n'ai pas les idées claire pour y arriver.
voici ajax_motcle.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 <script src="js/jq.js"></script> <script> $(document).ready(function(){ $("#motcle").on("keyup", function() { recherche(this.value,$('#filtre').val());}); $("#filtre").on("change", function() { recherche( $("#motcle").val(),this.value); }); function recherche(motcle,filtre) { verif =verif_length(motcle); if(verif === true) { $.ajax({ type :'POST', url : 'ajax_motcle.php', dataType:'json', data: { motcle: motcle, filtre: filtre, }, success : function(data){ $('#results').html(data); }, }); } } function verif_length(motcle) { if(motcle.length > 2) { return true; } else { return false; } } }); </script> <span>votre recherche</span> <input id="motcle" type="text" placeholder="votre mot clés"> <select id="filtre"> <option value="1">sur tout</option> <option value="2">etiquette</option> <option value="3">document</option> </select> <div id="results"> </div>
Code php : 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 <?php header('Content-type: application/json'); $dir_ini = dirname(__FILE__)."/lib/Ini.php"; require $dir_ini; $find = new Recherche(); $motcle = utf8_decode($_POST['motcle']); echo "<span> résultat(s)</span>"; echo "<hr>"; $find = new Recherche(); $f = $_POST['filtre']; switch($f) { case 1: $find_id_cours_label =$find->findLabel($motcle); echo "label".count($find_id_cours_label)."<br/>"; $result_label = $find->lienTrouver($find_id_cours_label,"a.png"); $find_id_resource =$find->findRessource($motcle); echo "ressource".count($find_id_resource)."<br/>"; $result_ressource = $find->lienTrouver($find_id_resource,"b.png"); $resultat = array_merge($result_label,$result_ressource); break; } echo json_encode($resultat);
pour le moment je sais affiché les résultats côté serveur en faisant une boucle
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 foreach($resultat as $R) { echo $R; //sans utiliser json... }
c'est pas top d'afficher tout les résultats ...
avant de commencer ma pagination, comment je dois procéder pour afficher correctement les mêmes résultats mais avec javascript (jquery)?
du côté client, suis-je obligé de faire un "echo" pour récupérer le json
avec firebug dans l'onglet réponse j'ai obtenu ceci
merci d'avance de me guider et de m' éclaircir
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <br/> <span> résultat(s)</span><hr>label12<br/>ressource56<br/>["<img src='a.png'><\/img><a href='http:\/\/localhost\/prod\/course\/view.php?id=4156'>\n\t\t\tImmunopathologie<\/a><br\/>","<img src='a.png'><\/img><a href='http:\/\/localhost\/prod\/course\/view.php?id=191'>\n\t\t\t[TD] Techniques d'immobilisation des membres et tr...<\/a><br\/>",![]()
Partager