Bonsoir
J'ai une table, avec des news à afficher sur la page d'accueil d'un site dont je m'occupe.
En plus des champs titre, contenu et date, j'ai un champ sticky, qui permet de garder une news affichée en haut des autres.
Actuellement, j'ai ça :
SELECT id, nom, email, titre, texte, icone, sticky FROM news ORDER BY id DESC LIMIT 5
Je voudrais extraire toutes les news en sticky, puis les autres, dans la limite de 5. Le truc c'est qu'il faudrait "bricoler" une condition, les sticky et les suivantes. Mais je ne vois pas trop comment faire, en une seule requête Si je mets un WHERE sticky = 1, ca ne me donne pas les autres...
Qqun a une idée à me suggérer?
Merci
---------------
Can't buy what I want because it's free -
freds45
Posté le 31-08-2004 à 21:40:05
J'ai fait ça :
SELECT id, nom, email, titre, texte, source, sourceurl, icone, sticky FROM news WHERE sticky=1
UNION
SELECT id, nom, email, titre, texte, source, sourceurl, icone, sticky FROM news ORDER BY id DESC
LIMIT 5
Il me donne bien 5 news, mais les 5 dernières... J'ai une définie comme sticky, plus ancienne, qui n'est pas extraite
SELECT id, nom, email, titre, texte, source, sourceurl, icone, sticky FROM news WHERE sticky=1
UNION
SELECT id, nom, email, titre, texte, source, sourceurl, icone, sticky FROM news ORDER BY id DESC
LIMIT 5
Il me donne bien 5 news, mais les 5 dernières... J'ai une définie comme sticky, plus ancienne, qui n'est pas extraite
bah parenthèse tout ça non?
[edit]
Mal compris, en fait...mérite plus de réflexion...
Message édité par skeye le 31-08-2004 à 21:43:23
---------------
Can't buy what I want because it's free -
freds45
Posté le 31-08-2004 à 21:55:31
Bon... c'est de la bidouille , mais ça marche !
SELECT id, nom, email, titre, texte, source, sourceurl, icone, sticky FROM news ORDER BY sticky DESC, id DESC LIMIT 5