Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 23/08/2006, 12h32   #1
Membre chevronné
 
Avatar de Elwyn
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 836
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2006
Messages : 836
Points : 712
Points : 712
Par défaut [SQL] Aide pour requete

Bonjour, voila le probleme :

Tout d'abord voici la page : http://francallais.free.fr/conduite/

Mon but faire le total des kilometres en fonction des conditions meteo (en bas a droite de la page)

Je suis deja venu et on m'a donné cette requete :

Code :
mysql_query("SELECT t.temps, SUM(t.total_tmp) as total_km FROM (SELECT CASE remarques WHEN 'Nuit' THEN 'Nuit' WHEN '' THEN 'Beau temps' WHEN 'Pluie' THEN 'Mauvais temps' ELSE 'Beau temps' END AS temps, SUM(kms) AS total_tmp FROM conduite c GROUP BY remarques ) t GROUP BY temps");
Mais on m'a conseillé de faire un champ meteo car l'exploitation des données serait meilleure, ce que je viens de faire voici ma nouvelle table :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE `conduite` (
  `id` int(5) NOT NULL auto_increment,
  `date` varchar(10) collate latin1_general_ci NOT NULL,
  `tps` int(5) NOT NULL,
  `kms` int(5) NOT NULL,
  `voiture` varchar(5) collate latin1_general_ci NOT NULL,
  `circonstances` varchar(50) collate latin1_general_ci NOT NULL,
  `remarques` varchar(50) collate latin1_general_ci NOT NULL,
  `type_route` varchar(5) collate latin1_general_ci NOT NULL,
  `meteo` varchar(20) collate latin1_general_ci NOT NULL,
  `rdv` tinyint(1) NOT NULL default '0',
  PRIMARY KEY  (`id`)
)
et ma nouvelle requete :

Code :
mysql_query("SELECT meteo, SUM(kms) AS total_kms FROM conduite GROUP BY meteo");
mais probleme je n'arrive pas a mettre les condition IF THEN et ELSE dans cette requete comme la précédente .... ce qui fait que ca marche pour nuit,pluie mais pas pour beau temps car Beau temps correspond en fait a un champ meteo vide ...

Pouvez vous m'aider ?
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
Elwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h18   #2
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Salut,

Ca devrait faire l'affaire :

Code :
SELECT IF(meteo = '', 'Beau temps', meteo), SUM(kms) AS total_kms FROM conduite GROUP BY meteo
On peut mettre le IF dans le group by... affaire de goût
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h24   #3
Membre chevronné
 
Avatar de Elwyn
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 836
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2006
Messages : 836
Points : 712
Points : 712
Merci pour la reponse Mais il y a un probleme lol

Voila comment j'exploite les resultats :

Code :
echo'<li>'.$meteo['meteo'].' : '.$meteo['total_kms'].' kms</li>';
Plus rien ne s'affiche maintenant Enfin si juste les kilometres
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
Elwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h29   #4
Membre expérimenté
 
Avatar de tigunn
 
Homme
Développeur de bug
Inscription : janvier 2003
Messages : 526
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 31
Localisation : France

Informations professionnelles :
Activité : Développeur de bug

Informations forums :
Inscription : janvier 2003
Messages : 526
Points : 548
Points : 548
tu peux pas faire
Code :
SELECT IF(meteo = '', 'Beau temps', meteo) as meteo, SUM(kms) AS total_kms FROM conduite GROUP BY meteo
ainsi qd tu recupere tes données par fetch_array_... , enfin en tableau assoc ça devrait marcher?
__________________
"le rhume distillation - L’estomac est la cucurbite, le cerveau le chapiteau, & le nez le réfrigérant par lequel s’écoule goutte à goutte le produit de la distillation."
de Avicenne

Le monde se divise en deux: ceux qui utilisent le tag et les autres.

Un problème? venez en découdre!
tigunn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h32   #5
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Oui désolé, il manquait l'alias de colonne
Ca devrait fonctionner avec le code de tigunn.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h33   #6
Membre chevronné
 
Avatar de Elwyn
 
Homme
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 836
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux

Informations forums :
Inscription : juillet 2006
Messages : 836
Points : 712
Points : 712
C'est bon ca marche, c'etait juste le AS meteo qui manquait

Merci a vous deux, par contre je me rend compte qu'il est possible de mettre des conditions dans des requetes et j'aimerais un tuto a ce sujet car la j'utilise vraiment 5% de mysql ... lol
__________________
Dire Straits, Bob Dylan, Led Zeppelin, the Who, Pink Floyd, AC/DC, Guns & Roses, the Doors, ...
Elwyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/08/2006, 14h44   #7
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Il n'y a pas beaucoup de possibilités pour mettre des conditions. La doc officielle te sera sûrement suffisante : http://dev.mysql.com/doc/refman/5.0/...functions.html
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h57.


 
 
 
 
Partenaires

Hébergement Web