Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/10/2011, 09h35   #1
Membre du Club
 
Inscription : février 2009
Messages : 330
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 330
Points : 56
Points : 56
Par défaut requete avec boucle php

bonjour à tous,

Je souhaiterais faire une requête mysql pour extraire des datas de ma base.
J'ai un champ de ma base qui correspond au timestamp (ex: 20111008093000), et un autre champ ou il y a une valeur de température.

Je voudrais avec une requête extraire la valeur max pour chacun des 30 derniers jours, et générer un tableau avec ces 30 valeurs.
Le problème c'est qu'il faut faire une boucle qui parcours le jour du timestamp , et la je sèche.

Actuellement j'utilise une requête, pour extraire la valeur max sur les dernières 24h :
Code :
1
2
 
$sql = "SELECT valeur_mesure, timestamp_mesure FROM releves WHERE id_capteur='2' AND type_mesure='temp' AND timestamp_mesure BETWEEN DATE_ADD(NOW(),INTERVAL -24 HOUR) AND NOW() ORDER BY valeur_mesure DESC LIMIT 1";
mikael2235 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2011, 02h48   #2
Membre Expert
 
Inscription : septembre 2010
Messages : 1 242
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 1 242
Points : 1 564
Points : 1 564
As-tu essayé d'utiliser la fonction MAX() de mysql ?

Par ailleurs pour travailler sur des dates avec mysql il est souvent beaucoup plus pratique et recommandé d'avoir un champs date au format date ou datetime...
__________________
- Réalisations
- Interface graphique : génération en javascript d'objets défilants, texte et/ou images, mode horizontal ou vertical.
ABCIWEB est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/10/2011, 12h03   #3
Nouveau Membre du Club
 
Aurélien LEQUOY
Inscription : février 2011
Messages : 33
Détails du profil
Informations personnelles :
Nom : Aurélien LEQUOY

Informations forums :
Inscription : février 2011
Messages : 33
Points : 35
Points : 35
Code :
1
2
3
4
5
6
7
8
9
10
11
12
SELECT MAX(valeur_mesure), timestamp_mesure 
 
FROM releves 
 
WHERE id_capteur='2' 
AND type_mesure='temp' 
AND timestamp_mesure BETWEEN DATE_ADD(NOW(),INTERVAL -30 DAY) 
AND NOW() 
 
GROUP BY DAY(timestamp_mesure)
 
ORDER BY valeur_mesure DESC LIMIT 1
à vérifier avec timestamp car j'en utilise presque jamais sinon tu devrais trouver ton bonheur. n'hésite pas à poster la requête finale.


Ale
Aurélien LEQUOY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/11/2011, 21h04   #4
Membre du Club
 
Inscription : février 2009
Messages : 330
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 330
Points : 56
Points : 56
Salut,

Désolé, je n'avais pas vu qu'il y avait eu des réponses.

J'ai essayé la requête avec MAX() directement dans PhpMyAdmin, il me selectionne une valeur par jour sur 30 jours, mais par contre ce n'est pas toujours le max ???
mikael2235 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h38.


 
 
 
 
Partenaires

Hébergement Web