Souci pour un affichage multipage

smitchel Messages postés 40 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 26 novembre 2007 - 13 nov. 2007 à 20:28
btzolive Messages postés 2 Date d'inscription mardi 12 décembre 2006 Statut Membre Dernière intervention 18 novembre 2007 - 18 nov. 2007 à 12:53
Salut tout le monde, voila j'ai essayer de créer un systeme de news avec un affichage multipage (pas terminé encore) dans l'ensemble j'ai reussi a faire ce que je voulais mai il me reste quand meme deux petit probleme, le premier étant que je veuille afficher les news de la plus récente a la plus ancienne, pour ce qui est des page 'jai trouvé la solution en passant de la derniere page à la premiere, mais l'affichage du texte le plus récent se fait en dessou des plus ancien, or je voudrai l'inverse, et je ne sais pas comment y arriver.
Mon deuxiemre souci est que lorsque que j'ai mon je ve un affichage d'un certain nombre de news sur un page et que sur un la derniere page il n'y arrive pas il va me faire sauté la page ce qui fé qu'on ne verra pas tout, pour lui c'est 5 par page par exemple ou rien.
Voila j'espere que vous pourrez m'aider, merci d'avance.
Je vous ai laisser la source et comme j'ai l'habitude de laisser des commentaires pour m'y retrouver cela pourra surment vous aider aussi.++

<?
//Configuration des identifiant et des adresse pour la base mysql
$host = "localhost";
$user = "root";
$pass = "";
$bdd = "news";
$table = "news01";


//Connexion à la base de donnée
[mailto:$connection=@mysql_connect($host $connection=@mysql_connect($host], $user, $pass) or die("Impossible de se connecter à la base de données");
//Sélection de la base de donnée
@mysql_select_db($bdd) or die("Impossible de se connecter à la base de données");


//Nombre maximal appairaissant dans la collonne ID.
[mailto:$nb_max=@mysql_query("select $nb_max=@mysql_query("select] max(id) from $table");
[mailto:$nbmax=@mysql_result($nb_max,0,"max(id $nbmax=@mysql_result($nb_max,0,"max(id])");


//Nombre News à afficher pour chaque page.
$nbnewsperpage = "5";


//Calcul du nombre de page nécéssaire à afficher par rapport au nombre de news que contient la base.
$nbpage = intval($nbmax/$nbnewsperpage);
$nbpage01 = $nbpage+1;
//Définition du numéro de page demandé par défault
if($numpage==NULL) { $numpage = $nbpage; }


//définition du numéro des pages précédentes et suivantes
$numpageprevious = $numpage+1;
$numpagenext = $numpage-1;
//Soustration de 1 à la variable prédéfini avant pour le nombre de page à afficher qui va servirait pour calculer la position de page de début sur la base de donnée.
$startpage0 = $nbnewsperpage-1;


//Calcul de la fin de l'interval dans laquel nos série de news correspondante à la variable se $nbnewsperpage trouveront et suivant la page qui est demandé.
$endpage = $nbnewsperpage*$numpage;


//Calcul de la position début dans laquel la série de news de sera affiché en se basant dans la base mysql.
$startpage = $endpage-$startpage0;


 $requete = mysql_query("SELECT * FROM $table WHERE id BETWEEN $startpage AND $endpage");
 while ($sql = mysql_fetch_array($requete) ) {
  $titre=$sql['titre'];
  $date=$sql['date'];
  $texte=$sql['texte'];
  $picture01=$sql['picture01'];
  $picture02=$sql['picture02'];
  echo "$titre, $date, $texte, $picture01, $picture02

";  
 }
echo "$startpage
$endpage
";
//Définition de la contidion pour l'affichage des bouton suivante et précédente, il doit etre compris entre 1 et le nombre de page max.
if($nbpage01>$numpageprevious) { echo "Précédente"; }
if(0<$numpagenext) { echo" Suivante"; }


?>

1 réponse

btzolive Messages postés 2 Date d'inscription mardi 12 décembre 2006 Statut Membre Dernière intervention 18 novembre 2007
18 nov. 2007 à 12:53
bonjour,


Je n'ai pas compris ton second souci,
mais une piste de solution pour ton premier souci  serait juste d'ordonner ta requete sql.



$sSql



=


'SELECT * FROM '

.

$table
.


' WHERE id BETWEEN '

.

$startpage
.


' AND '

.

$endpage
.


' ORDER BY id DESC'

;







$requete
=

mysql_query
(

$sSql
);

 
0
Rejoignez-nous