Bonjour,
J'ai une requête assez compliqué où je n'arrive pas à trouver la solution.
En gros j'ai une table 'gallery' où j'ai une date de publication 'date_publication' et une autre date de mise en avant 'date_avant'.
J'essaye d'afficher sur une page 4 éléments trié par 'date_publication' inférieur à ce jour (valeur stoquée dans une variable '$maintenant' (date('Y-m-d')).
Jusqu'à là ça va :
SELECT * FROM gallery WHERE date_publication <= '$maintenant' ORDER BY date_publication DESC LIMIT 4
Là où ça se complique c'est que lorsque j'ai une 'date_avant' qui est inférieur ou égal a '$maintenant' et qui est qui peut être supérieur à une 'date_publication'... Ca devient même compliqué à expliquer.
SELECT * FROM gallery WHERE date <= '$maintenant' ORDER BY date_avant DESC, date_publication DESC LIMIT 4
Voici a quoi ressemble ma table
id |
image |
date_publication |
date_avant |
1 |
test.jpg |
2015-02-11 |
0000-00-00 |
2 |
test2.jpg |
2015-02-09 |
0000-00-00 |
3 |
test3.jpg |
2015-02-08 |
2015-02-10 |
4 |
test4.jpg |
2015-02-07 |
0000-00-00 |
5 |
test5.jpg |
2015-02-06 |
0000-00-00 |
6 |
test6.jpg |
2015-02-05 |
2015-02-16 |
Dans l'absolu, je voudrais afficher les images dans cet ordre grâce à une requête :
test6.jpg, test.jpg, test3.jpg, test2.jpg
Voilà, je sais plus trop où commencer, si quelqu'un a une idée et/ou une fonction je suis preneur.
Merci d'avance
Partager