Problème de pagination

cs_iomega Messages postés 144 Date d'inscription jeudi 24 avril 2003 Statut Membre Dernière intervention 1 septembre 2008 - 7 août 2003 à 16:31
cs_koala01 Messages postés 16 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 25 mai 2006 - 8 août 2003 à 20:18
Bonjour à tous j'ai un problème de pagination
j'ai récuperer un script de "pagination" et cela marche très bien mais lorsque j'utilise une liste déroulante qui contient le mois et l'année
exemple:
Septembre-2003
Octobre-2003
je l'utilise dans ma requete qui va rechercher les lignes qui contient exemple le mois d'octobre 2003
cela marche très bien mais lorsque je veux faire suite ou retour la .
j'ai un problème cela ne m'affiche rien du tout. Merci de m'aider
Je crois que c'est dans les liens qu'il y a un problème ?

voici le code

<? //include("Config/configuration.php");
include("Config/configuration.php");

// Verifie si on peut se connecter a la base sql
$connect=mysql_connect($host,$user,$pass) or die ("Impossible de se connecter");
mysql_select_db($base, $connect) or die ("Impossible de selectionner la base de donnees");
?>
<HTML>

<?
$listeDeroulante = "<FORM action="" METHOD=POST>";
$listeDeroulante .= "<select name="choixdate">";
$listeDeroulante .= "<option>Veuillez choisir une date</option>";
$listeDeroulante .= "<option value='Août-2003' ";
if ($choixdate == 'Août-2003') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Août-2003</option>";
$listeDeroulante .= "<option value='Septembre-2003' ";
if ($choixdate == 'Septembre-2003') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Septembre-2003</option>";
$listeDeroulante .= "<option value='Octobre-2003' ";
if ($choixdate == 'Octobre-2003') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Octobre-2003</option>";
$listeDeroulante .= "<option value='Novembre-2003' ";
if ($choixdate == 'Novembre-2003') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Novembre-2003</option>";
$listeDeroulante .= "<option value='Décembre-2003' ";
if ($choixdate == 'Décembre-2003') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Décembre-2003</option>";
$listeDeroulante .= "<option value='Janvier-2004' ";
if ($choixdate == 'Janvier-2004') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Janvier-2004</option>";
$listeDeroulante .= "<option value='Février-2004' ";
if ($choixdate == 'Février-2004') $listeDeroulante .= " selected ";
$listeDeroulante .= ">Février-2004</option>";

$listeDeroulante .= "</select>";
$listeDeroulante .= " ";
$listeDeroulante .= "";

$listeDeroulante .= "";

$listeDeroulante .= "</form>";

echo "

";
echo $listeDeroulante;

$tmp = explode("-",$HTTP_POST_VARS["choixdate"]);
$mois=$tmp[0];
$annee=$tmp[1];

// sélectionne toutes les fiches de la table
$query="SELECT * FROM ria where mois='$mois' and annee='$annee'";
$result = mysql_query($query);

$Nmax = 2; // nombre par page
$Ncur = 0; // n° de la fiche courante
$Ndeb = 0; // 1ère fiche transmise par l'URL
if(isset($num))
$Ndeb=intval($num);

// tant qu'il y a des fiches
while (($val = mysql_fetch_array($result))
&& ($Ncur<$Nmax+$Ndeb)) {
if($Ncur>=$Ndeb) {
// affiche un champ
echo $val["nom"]."
";
}
// une de plus
$Ncur++;
} ?>

<? // Navigation
// Des fiches avant ?
if($Ndeb > 0) { ?>
"
>Retour,
<? }
// N° des pages
$Npag = ceil(mysql_numrows($result)/$Nmax);
for($i = 1;$i<=$Npag;$i++) { ?>
<? // Page courante ?
if($Ndeb == ($i-1)*$Nmax) { ?>
Page <? echo $i; ?>
<? } else { ?>
"
> <? echo $i; ?>
<? } ?>,
<? }
// Des fiches après ?
if($val) { ?>
&choixdate=$choixdate">Suite,
<? } ?>

</HTML>
<? mysql_close(); ?>

1 réponse

cs_koala01 Messages postés 16 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 25 mai 2006
8 août 2003 à 20:18
j'ai fort chaud pour étudier correctement ton script...

Cependant, il semblerait que tu fasse passer en url une varialbe "num" qui contient le numéro de la fiche qui est affichée actuellement...

Pouur passer à la fiche suivante, il faut te baser cur valeur+1 et pour passer à la fiche précédente à valeur -1

Or, je n'ai vu aucune référence à ta variable $num, du genre $variable=$num-- ou $variable=$num++ (mais vu la chaleur actuelle, il est encore bien possible que je sois passé devant sans la voir)
Ce qui ce conçoit bien s'énonce clairement
et les mots pour le dire vous viennent aisément

luttons contre palladium
0
Rejoignez-nous