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.

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>
voici ajax_motcle.php

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&eacute;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

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
<br/>
<span>  r&eacute;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\/>",
merci d'avance de me guider et de m' éclaircir