IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

[SQL] Aide pour requete


Sujet :

PHP & Base de données

  1. #1
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    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 : 858
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 ?

  2. #2
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Salut,

    Ca devrait faire l'affaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    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 : 858
    Par défaut
    Merci pour la reponse Mais il y a un probleme lol

    Voila comment j'exploite les resultats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo'<li>'.$meteo['meteo'].' : '.$meteo['total_kms'].' kms</li>';
    Plus rien ne s'affiche maintenant Enfin si juste les kilometres

  4. #4
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut
    tu peux pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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?

  5. #5
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    Oui désolé, il manquait l'alias de colonne
    Ca devrait fonctionner avec le code de tigunn.

  6. #6
    Membre émérite Avatar de fallais
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    858
    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 : 858
    Par défaut
    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

  7. #7
    Membre émérite
    Avatar de Biglo
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    537
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 537
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Besoin aide pour Requete SQL
    Par mystik11 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 17/07/2006, 11h34
  2. [OGS ?] Demande d'aide pour requete SQL
    Par hamtary dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/03/2006, 12h58
  3. Aide Pour Requete SQL Simple ... Merci d'avance :)
    Par thefutureisnow dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/12/2005, 11h39
  4. [SQL] aide pour requete UPDATE SVP
    Par ganok dans le forum Langage SQL
    Réponses: 9
    Dernier message: 10/03/2005, 09h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo