merve1992
Messages postés2Date d'inscriptionsamedi 18 juin 2016StatutMembreDernière intervention18 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>';}
}
?>
<?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
...
}
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és2Date d'inscriptionsamedi 18 juin 2016StatutMembreDernière intervention18 juin 2016 18 juin 2016 à 13:34
Je fais comment tu peux me donner un petit exemple s'il te plait ??