Bonjour

Premièrement, merci pour ce forum riche en informations.

Je vous explique la situation. J'utilise sur mon site d'annonce un code pour afficher uniquement 5 annonces par page et créer automatiquement les pages suivantes.
Aucun problème, le code est le suivant (adapté d'un tuto):
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
 
<?php
$messagesParPage=5; //Nous allons afficher 5 messages par page.
 
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM annonces'); //Nous récupérons le contenu de la requête dans $retour_total
$donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
$total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
 
//Nous allons maintenant compter le nombre de pages.
$nombreDePages=ceil($total/$messagesParPage);
 
if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
{
     $pageActuelle=intval($_GET['page']);
 
     if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
     {
          $pageActuelle=$nombreDePages;
     }
}
else // Sinon
{
     $pageActuelle=1; // La page actuelle est la n°1   
}
 
$premiereEntree=($pageActuelle-1)*$messagesParPage; // On calcul la première entrée à lire
 
// La requête sql pour récupérer les messages de la page actuelle.
$retour_messages=mysql_query('SELECT * FROM annonces WHERE categorie="Autres" ORDER BY id DESC LIMIT '.$premiereEntree.', '.$messagesParPage.'');
 
while($donnees_messages=mysql_fetch_assoc($retour_messages)) // On lit les entrées une à une grâce à une boucle
{
 //Je vais afficher les messages dans des petits tableaux. C'est à vous d'adapter pour votre design...
     //De plus j'ajoute aussi un nl2br pour prendre en compte les sauts à la ligne dans le message.
 
echo ' Pseudo : <strong>'.stripslashes($donnees_messages['prenom']).' </strong><br />
<p class="annonce"> <?php '.nl2br(stripslashes($donnees_messages['annonce'])).''</p>
 
}
D'autre part, j'utilise un code pour effectuer une recherche. Là encore, aucun problème, le code est le suivant :

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
 
<?php
if (isset ($_GET['recherche'])){
    $recherche=$_GET['recherche'];
    $s=explode(" ",$recherche);
    $sql="SELECT * FROM annonces";
    $tabWhere = array();
    foreach ($s as $mot)
      if(strlen($mot)>3)
        $tabWhere[] = "annonce LIKE '%$mot%'";
 
    if(sizeof($tabWhere) > 0)
    {
      $sql .= ' WHERE '.implode(' OR ', $tabWhere);
      $req=mysql_query($sql) or die( mysql_error());
      echo mysql_num_rows($req)." Résultats";
      while($d=mysql_fetch_assoc ($req)){
          echo 'Pseudo : <strong>'.stripslashes($d['prenom']).' </strong><br />';
          $c=$d['annonce'];
          $i=0;
          foreach ($s as $mot) {
          if(strlen($mot)>3){
              $i++;
              if($i>4){$i=1;}
              $c = str_ireplace($mot,'<span class="surligne'.$i.'">'.$mot.'</span>',$c);
          }
          }
          echo '<p class="annonce"> '.nl2br(stripslashes($c)).' </p>';
      }
    }else
      echo "Les mots clés doivent comporter plus 3 lettres";
}
else {
echo "Vous n'avez pas indiqué de mot-clés";
}
?>

Voila, mon problème est le suivant, j'aimerais combiner les deux codes de façon à ce que les résultats de la recherche s'affiche 5 par pages et que les autres pages soient créer automatiquement.
Voila, si quelqu'un a la gentillesse de m'aider a résoudre ce problème, je serais ravi.
Merci d'avance

Cordialement

Foyout