Requete avec des if et des OR

Eléphant du PHP | 85 Messages

20 oct. 2011, 11:16

Salut,

Je ne savait pas du tout comment titre ce nouveau fil... Désolé. :oops:

Bon, ma question porte bien sur sur une requête vers ma bdd.

j'ai une table avec une insertion de données journalières.
ID | Texte | Année | Mois | Jour

Je souhaite récupérer les x lignes correspondant à la date du jour.
Puis, si j'ai moins de n lignes, en prendre avant pour compléter.

Impossible de le faire en une seul requête.
Avez vous une idée.

Pour le moment, j'en suis là :
Requête données du jour.
while
si moins de n, requête données jours avant pour compléter.
while
affichage.

Merci

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 oct. 2011, 11:19

salut,

un requete du style
select truc from machine order by lechamdate desc limit 0, n

tu aura ce que tu veux, après tu peux ajouter un where pour trier suivant la date selectionneée

par exemple prendre les date supérieurs ou inférieures à une autre etc etc


@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 85 Messages

20 oct. 2011, 11:55

Ah bah ouais...

je bloquais trop sur les données du jour alors que j'aurais du me focaliser sur les n données à extraires.

Merci.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 oct. 2011, 11:59

de rien :)

@+
Il en faut peu pour être heureux ......

ViPHP
ViPHP | 2577 Messages

20 oct. 2011, 12:06

Bonjour,

Je n'ai pas compris ce que tu souhaitais obtenir comme résultat lorsqu'il y avait plus de n lignes pour la journée. Dans la solution proposée, tu perds les lignes n+1,... qui peuvent être de la journée cherchée.

Eléphant du PHP | 85 Messages

21 oct. 2011, 09:30

En fait, je me prenais le chou pour rien...

J'avais besoin de récupérer, par exemple, 10 info correspondant à la journée "today".
Pas de problème.
Mais si j'avais moins de 10 info, je souhaitais compléter avec des info des jours précédents.

Comme je ne prenais pas le problème dans le bon sens, je bloquais sur comment connaitre le nombre d'info manquante et comment aller les chercher, tout cela en une seul requête.

La logique était pourtant facile.
Je vais chercher 10 info avec date <= à today. :wink: