cs_ChucklaPuck
Messages postés6Date d'inscriptionvendredi 26 mai 2006StatutMembreDernière intervention 5 décembre 2007
-
19 juin 2006 à 22:01
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
20 juin 2006 à 16:11
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).
WhiteDwarf
Messages postés510Date d'inscriptionsamedi 29 décembre 2001StatutMembreDernière intervention23 mai 2008 20 juin 2006 à 04:38
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
-----------------
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 20 juin 2006 à 16:11
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...