Erreur sur un script PHP affichant plusieurs - PHP - Programmation
Marsh Posté le 26-02-2013 à 20:31:23
Je viens de passer le nombre de sujet de 20 à 10 pour que vous puissiez voir l'erreur sur la page affichée dans le premier post
Marsh Posté le 27-02-2013 à 11:22:23
ça viendrait pas du début
Du style
Code :
|
Sinon ton $page sera toujours à 1... il me semble
Marsh Posté le 27-02-2013 à 12:30:50
Un grand merci à toi car effectivement il ne récupérait pas la valeur de la page, donc j'ai modifié le code par :
$nbsujet = 10;
$page=$_GET['page'];
if ($page =="" ){$page= 1;}
et là ça fonctionne.
Encore merci
Marsh Posté le 15-04-2014 à 00:47:24
Bonjour,
je rencontre exactement le même cas, mais malgré le changement, rien à faire, en général, j'aime bien me débrouiller seul, j'ai rencontré plusieurs fois des problèmes avec le dossier, mais là ! Je suis à côté d'un problème qui je suis certain, est sous mon nez.
voici la page http://colec.fr/Annonce/region/pet [...] nce&page=1
Le code php actuellement en place
echo '0';
}
else
{
echo $getpages1;
}
echo ' Annonces / <a href=annonce-prix.php?region='.$_GET['region'].'&page=1 class="lien">Trier par prix</a></p>';
?>
</td>
</tr>
</tbody>
</table>
<br>
<br>
<br>
<?php $nbsujet = 20;
if ($page =="" ){$page = 1 ;}
Par avance merci
A plus
Marsh Posté le 15-04-2014 à 10:10:02
Petit conseil : faire plutôt
if (empty($page)) $page= 1;
Par ailleurs, je vois que tu fonctionnes par des fichiers pour les annonces. Une BD t'offrirait de bien meilleurs perfs et surtout, pour paginer tes annonces, ça serait bien plus facile puisque le SQL propose une instruction pour récupérer les x enregistrements à partir d'un offset
Marsh Posté le 26-02-2013 à 20:18:20
Bonjour a tous,
J'ai téléchargé un script de petites annonces que j'essaye de faire évoluer mais je suis devant un problème que je n'arrive pas à régler.
Je m'explique :
J'ai 16 annonces à afficher et je souhaiterais découper l'affichage 10 par 10.
Il m'affiche bien 2 pages avec la première contenant 10 annonces mais lorsque je clique sur la page 2, il revient en haut de la page et j'ai toujours la première page sélectionnée et les 10 premières annonces affichées.
Ci-dessous le code avec le nombre de sujet à 20 pour régler provisoirement mon problème et le lien de ma page http://lesmotardsdu47.fr/annonces/ [...] ine&page=1 :
<?php
$nbsujet = 20;
if ($page =="" ){$page = 1 ;}
$adminsup = 'novarible1';
$login = 'novariable2';
$adminvalide = 'novarible3';
$loginadmin = 'novarible4';
$dir2 = opendir(''.$_GET['region'].'/petite-annonce/');
$timeStamp = array();
$fichier = array();
$i=0;
$getpages=0;
while ($File = readdir($dir2)){
if($File != "." && $File != ".." && $File != "" && $File != ".htaccess" && $File != "moteur.php" && $File != "index.php" && $File != "index.html" )
{ $getpages++;
$timeStamp[] = filectime(''.$_GET['region'].'/petite-annonce/'.$File.'');
$fichier[] = ''.$_GET['region'].'/petite-annonce/'.$File.'';
}
$i++;
}
closedir($dir2);
if ($getpages == 0) {
echo '<br><br><br><br><center><b>Désolé mais il n\'y a pas encore d\'annonces dans cette catégorie<br> cliquez sur <a href="../depose-annonce.php">"Déposer une annonce"</a> pour ajouter votre annonce dans cette catégorie.</b></center>';
}
else
{
function check($value, $result){
if(in_array($value, $result))
$value = $value+0.1;
if(!in_array($value, $result))
return $value;
else
return check($value, $result);
}
//New Array
$result = array();
foreach($timeStamp as $value){
$result[] = check($value, $result);
}
$tableau = array_combine($result, $fichier);
krsort($tableau);
$tableau = array_values($tableau);
$Max = count($tableau);
$pagemin = $page*$nbsujet-$nbsujet;
$nbpage = $Max/$nbsujet;
$nbpage = ceil($nbpage);
if ($page == $nbpage) {$pagemax = $Max;}
else {$pagemax = $page*$nbsujet;}
if ($Max != 0){
for($i = $pagemin; $i != $pagemax; $i++){
include "$tableau[$i]";
}
}
$nbpage = $Max/$nbsujet;
$nbpage = ceil($nbpage);
$nbpage2 = $nbpage +1 ;
for ($i = 1 ; $i <= $nbpage ; $i++) {
if ($i < ($page-10) )
$i = $page - 10;
if ($i >= $page + 10 AND $i <= $nbpage - 10)
echo "...";
if ($i > ($page+4) )
$i = $nbpage ;
if ($i == $page )
echo '<a href="petite-annonce.php?region='.$_GET['region'].'&page='.$i.' "class="liens02"><b>['.$i.']</b></a> ';
else
echo '<a href="petite-annonce.php?region='.$_GET['region'].'&page='.$i.' "class="liens02"><b>'.$i.'</b></a> ';
}
//fin de else
}
?>
En vous remerciant d'avance,
Claude