Problème affichage

Signaler
Messages postés
6
Date d'inscription
vendredi 26 mai 2006
Statut
Membre
Dernière intervention
5 décembre 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour,

J'ai présentement une base de donnée qui comporte plusieurs champs, dont 1 qui est idNouvelle qui a comme attribut auto_increment...

Dans une de mes pages je veux afficher en ordre Décroissant, tous les données de la BD, à l'exception de la dernière donnée entrée à l'aide du champ idNouvelle!

J'ai réussi mais seulement dans l'ordre Croissant:

$SQL = "SELECT * FROM nouvelle ORDER BY idNouvelle";
$reqNouvelle = mysql_query($SQL) or die($SQL."
".mysql_error());

$nbrLignes = mysql_num_rows($reqNouvelle);

$nbrArchives = $nbrLignes - 1;

$SQL2 = "SELECT * FROM nouvelle ORDER BY idNouvelle ASC LIMIT ".$nbrArchives."";
$reqNouvelle2 = mysql_query($SQL2) or die($SQL2."
".mysql_error());

Quand on ne fait que changer "ASC" pour "DESC", ça affiche tous les données à l'exception de la première donnée entrée (idNouvelle = 1 par exemple).

Est-que quelqu'un peut m'aider???

Merci d'avance

Chuck

2 réponses

Messages postés
510
Date d'inscription
samedi 29 décembre 2001
Statut
Membre
Dernière intervention
23 mai 2008

Bah en fait il faut procéder légèrement différement :

$SQL = "SELECT * FROM nouvelle ORDER BY idNouvelle";
$reqNouvelle = mysql_query($SQL) or die($SQL."
".mysql_error());

$nbrLignes = mysql_num_rows($reqNouvelle);

$SQL2 = "SELECT * FROM nouvelle ORDER BY idNouvelle DESC LIMIT 1 ,".$nbrArchives."";
$reqNouvelle2 = mysql_query($SQL2) or die($SQL2."
".mysql_error());

J'ai modifié légèrement,ton script, LIMIT s'écrit avec deux paramètres c'est mieux, et donc ici au lieu de partir de 0 pour aller au noubre de ligne - 1 comme tule fais en ASC, on part de 1 pour aller jusqu'au nombre de lignes total.

@++
----------------------
La lumière étant plus rapide que le son, un homme peu paraître brillant avant qu'il se mette a parler
-----------------
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
mieux vaut faire un select count(*) from table group by 1 que ça, car là, on séléctionne toutes les lignes, alors que moi, je ne fais que retourner leur nombre...