yunie77
Messages postés15Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention13 avril 2006
-
22 nov. 2005 à 20:26
yunie77
Messages postés15Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention13 avril 2006
-
6 déc. 2005 à 20:21
bonsoir à tous,
j'ai un problème sur ma pagination. je veux mettre seulement 5 news par page, mais toutes les news apparaissent a chaque fois. si je met un LIMIT 0,5 dans ma requete sql. j'ai bien mais 5 news mais les autres n'apparaissent tjrs pas dans les autres pages.
le code est le suivant :
<?php
//partie de connexion a la bdd
$serveur = "localhost";
$login = "root";
$pass = "";
$connexion = mysql_connect( $serveur, $login, $pass );
mysql_select_db( "news", $connexion );
//********** Fin de la partie connexion **********\\
$nbParPage = 3;
//on effectue la requète sur l'objet que l'on souhaite paginer ( ici des news )
$req1=mysql_query("SELECT id_news, nom_redacteur, titre_news, message_news, date_news
FROM redacteur, news
ORDER BY date_news DESC;");
$nbNews=mysql_numrows($req1);
//$nbnews=$nbnews[0];
echo "il y a $nbNews";
//On calcule le nombre de numéro à afficher en fonction du nombre de news par
//page en arrondissant au nombre supérieur grace a la fonction ceil.
$moy= ceil($nbNews/$nbParPage);
echo "
et il y aura $moy page
";
//*********** Partie concernant le "bouton" précedent ***********\\
//on vérifie qu'il y a au minimum 2 page a afficher pour utiliser
//la fonction Suivant / précédent
if ($moy>=2)
{
//on vérifie l'éxistence de la variable page avant les vérifications
if (isset($_GET['page']))
{
//si $_GET['page'] = 1 alors on est a la première page et donc pas besoins
//de lien vers la précédente qui n'éxiste pas
if ($_GET['page']==1){echo "Precedent ";}
//sinon on met le lien en ajoutant +1 page a la page courante
else
{
echo "Precedent ";
}
}
else{echo "Precedent ";}
}
//*********** fin de la partie concernant le "bouton" précedent ***********\\
//prenons un exemple concret :
// nous avons 10 news dans la base
// a ce moment nous savons donc qu'il y aura 2 page :
// $nbNews 10 divisé par 5 ( 5 news par page ) 2 pages.
// on peut déja afficher les numéros :
// on effectue une boucle tant qu'il y a des pages on ajoute un lien
for ($i=0;$i<$moy;$i++)
{
// on ajoute 1 a $i pour afficher 1-2-3-... au lieu de 0-1-2-3-...
echo " Page ".($i+1)." ";
}
//*********** Partie concernant le "bouton" suivant ***********\\
//on vérifie qu'il y a au minimum 2 page a afficher pour utiliser
//la fonction Suivant / précédent
if ($moy>=2)
{
//on vérifie l'éxistence de la variable page avant les vérifications
if (isset($_GET['page']))
{
//si $_GET['page'] = $moy alors on est a la dernière page et donc pas besoins
//de lien vers la suivante qui n'éxiste pas
if ($_GET['page']==$moy){echo " Suivant";}
//sinon on met le lien en ajoutant +1 page a la page courante
else
{
echo " Suivant";
}
echo "
La page courante est :".$_GET['page']."";
}
else{echo "Suivant";}
}
//*********** fin de la partie concernant le "bouton" Suivant ***********\\
while ($tab = mysql_fetch_array($req1))
{
$nom = $tab[1];
$titre= $tab[2];
$message = $tab[3];
$date_tmp = explode(" ", $tab[4]);
$date_tmp2 = explode("-", $date_tmp[0]);
$heure = $date_tmp[1]; //explode decoupe la chaine en tableaux en separant la ou il y a des -
$date = array_reverse($date_tmp2);
//affichage des informations dans un formulaire précomplété
echo "".$tab[2].",
".$date[0]."/".$date[1]."/".$date[2]." ".$heure.",