Pagination à partir d'un formulaire

merve1992 Messages postés 2 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 18 juin 2016 - 18 juin 2016 à 04:35
 Utilisateur anonyme - 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>';}
 }
?>

2 réponses

Utilisateur anonyme
18 juin 2016 à 14:15
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
...
}
1
Utilisateur anonyme
18 juin 2016 à 12:02
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.
0
merve1992 Messages postés 2 Date d'inscription samedi 18 juin 2016 Statut Membre Dernière intervention 18 juin 2016
18 juin 2016 à 13:34
Je fais comment tu peux me donner un petit exemple s'il te plait ??
0
Rejoignez-nous