Pagination à partir d'un formulaire

Messages postés
2
Date d'inscription
samedi 18 juin 2016
Dernière intervention
18 juin 2016
- - Dernière réponse : le père.
Messages postés
6229
Date d'inscription
mardi 15 mai 2012
Dernière intervention
6 décembre 2018
- 18 juin 2016 à 14:15
bonsoir à tous
alors j'ai un petit probleme que j'arrive pas à résoudre je veux afficher certaine postes à partir d'un formulaire de recherche et j'ai essayé d'integrer la pagination ça m'affiche les 4 premiers dans la premiere page mais quand je clique sur le deuxieme lien pour passer à la suite rien ne s'affiche la variable dans l'url ne prend pas les données que je veux afficher voici mon code
      <?php

mysql_connect("localhost","root") or die("erreur de connexion au serveur $host");
mysql_select_db("job");
  
//recherche des résultats dans la base de données

if(isset($_GET["recherche"])){
 $sector = $_GET['sector'];
 $country = $_GET['country'];
 $jobtype = $_GET['jobtype'];
 $level = $_GET['level'];
  $job = $_GET['job'];
 
$sql = "SELECT COUNT(id) as nbArt FROM post  where sector ='$sector' and country='$country' and jobtype='$jobtype' and level='$level' and job='$job'";
$result = mysql_query($sql) or die (mysql_error());
$data=mysql_fetch_assoc($result);
$nbArt=$data['nbArt'];
$perPage=4;
$nbPage = ceil($nbArt/$perPage);
if (isset($_GET['p']) && $_GET['p']>0 && $_GET['p']<=$nbPage ) {
$cPage=$_GET['p'];
}
else
{$cPage=1;}
$cPage=1;

      $sql = "SELECT namejob, local, description , adddate , country , imagejob
             FROM post 
        where sector ='$sector' and country='$country' and jobtype='$jobtype' and level='$level' and job='$job' LIMIT ".(($cPage-1)*$perPage).",$perPage ";
 
$result = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br /><b>'.mysql_error().'</b>'); 

        if (mysql_num_rows($result)){ 
  				
		while($row = mysql_fetch_assoc($result)){
	     echo'   <div class="tab_grid">
          <div class="jobs-item with-thumb">
            <div class="thumb"><a href="jobs_single.html"><img src="'.$row['imagejob'].'" class="img-responsive" alt=""/></a></div>
            <div class="jobs_right">
            <div class="date">30 <span>Jul</span></div>
            <div class="date_desc"><h6 class="title"><a href="jobs_single.html">'.$row['namejob'].'</a><span class="m_1"></h6>
              <span class="meta"><strong>'.$row['local'].','.$row['country'].'</strong> | Posted'.$row['adddate'].'</span>
            </div>
            <div class="clearfix"> </div>
                        <ul class="top-btns">
              
              <li><a href="#" class="fa fa-star-o"></a></li>
              <li><a href="#" class="fa fa-link"></a></li>
            </ul>
            <p class="description">'.$row['description'].'<a href="jobs_single.html" class="read-more"><strong>Apply for this job</strong></a></p>
                    </div>
          <div class="clearfix"> </div>
        </div>
       </div>';
} 
for ($i=1;$i<=$nbPage;$i++){
if ($i==$cPage)
echo " $i / ";
else 
{
echo " <a href=\"search.php?p=$i\">$i</a> /" ;
}
}
}  
 else	{echo'     <h3 style="text-align:center; margin:10px 0;">Pas de résultats pour cette recherche</h3>';}
 }
?>
Afficher la suite 

Votre réponse

2 réponses

Messages postés
6229
Date d'inscription
mardi 15 mai 2012
Dernière intervention
6 décembre 2018
0
Merci
Bonjour

Tout ton code est à l'intérieur du if(isset($_GET["recherche"]))
Or le lien que tu utilises pour changer de page n'a pas de paramètre 'recherche', donc quand tu cliques dessus, tu sautes directement à la fin de ton code.
Le mieux serait sûrement que tu enregistres les paramètres de recherche dans des variables de session pour les ré-utiliser quand tu changes de page.
merve1992
Messages postés
2
Date d'inscription
samedi 18 juin 2016
Dernière intervention
18 juin 2016
-
Je fais comment tu peux me donner un petit exemple s'il te plait ??
Commenter la réponse de le père.
Messages postés
6229
Date d'inscription
mardi 15 mai 2012
Dernière intervention
6 décembre 2018
0
Merci
Un petit exemple pour le principe - avec un seul champ.
Pour plus de détails, il y a le manuel :http://php.net/manual/fr/session.examples.basic.php


<?php
session_start(); // obligatoire au début de tout script qui utilise les sessions
// si on reçoit des variables par GET, on les prend en compte ET on les enregistre dans des variables de session
if(isset($_GET["recherche"])){ 
  $sector = $_GET['sector'];
  $_SESSION['sector']=$sector; // on enregistre cette variable dans une variable de session
...
} 
// sinon, on récupère les variables précédemment enregistrées dans les sessions
else if(isset($_SESSION['sector'])) {
  $sector = $_SESSION['sector'];
...
}
// si on a récupéré quelque chose (par GET ou par session) on peut faire le traitement
if (isset($sector)) {
// traitement
...
}
Commenter la réponse de le père.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.