Tri d'une colonne sql

Fermé
spiferloup - Modifié par spiferloup le 3/07/2010 à 15:02
azukaar Messages postés 442 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 5 février 2013 - 3 juil. 2010 à 18:04
Bonjour,

J'ai une base d'articles que je tri de la façon ORDER BY id DESC

Je souhaiterais si c'est possible que ca ne prenne pas en compte le tout dernier article.
En quelque sorte que ca donne ORDER BY id (-1) DESC car le tout dernier sera affiché ailleurs sur ma page. Je ne sais pas si c'est possible.

Merci d'avance.
A voir également:

5 réponses

azukaar Messages postés 442 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 5 février 2013 24
3 juil. 2010 à 14:31
Bonjour, oui tu peux "couper" le dernier dans ta boucle
0
comment fait-on?
0
azukaar Messages postés 442 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 5 février 2013 24
3 juil. 2010 à 14:41
tu compte le nombre de colone de ton array sql et tu fais moins 1 ensuite tu utilise cette variable comme compteur
0
Désolé mais ca se presente comment? (je suis novice). En fait il n'y a qu'une colonne 'id'.

Voici mon code:
$q="SELECT * FROM articles WHERE 'display' = '1' AND articleid!='".$id."' ORDER BY articleid DESC LIMIT 0, 20";
0
azukaar Messages postés 442 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 5 février 2013 24
3 juil. 2010 à 15:15
du coup je comprend pas ce que tu veux faire??
si tu as limit 0,20 tu n'a qu'a faire limit 0,19 nan ? tu pourrais xpliquer mieux ce que tu veux faire s'il te plait ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Avec ce code j'affiche les 20 derniers articles les + recents ('articleid') (sur environ 800 articles) sur ma page d'acueuil sauf que j'aimerais afficher le premier ailleurs et donc qu'il ne soit pas pris en compte ici, donc faire en quelque sorte:

ORDER BY articleid (-1) LIMIT 0,20";

En fait le tout premier article sera affiché + gros avec un style different, donc il a son code propre.
Désolé il s'git bien du premier a apparaitre et non du dernier.
0
azukaar Messages postés 442 Date d'inscription jeudi 1 juillet 2010 Statut Membre Dernière intervention 5 février 2013 24
3 juil. 2010 à 18:04
$q="SELECT * FROM articles WHERE 'display' = '1' AND articleid!='".$id."' ORDER BY articleid DESC LIMIT 0, 20";
//tu fais tes trucs jusqu'au while et tu fais
$i=0;
while(...) {
if($i == 0) {
//tu fais ton truc pour le premier post
$i++; //on increment $i comme ça la prochaine fois la condition n'est plus vrai
}
else {
//tous les autres

}


}
0