Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Requêtes
Requêtes Forum d'entraide sur les requêtes 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 29/11/2010, 16h07   #1
Membre du Club
 
Homme Nicolas Chaussé
Étudiant Réseaux et Télécoms
Inscription : octobre 2009
Messages : 103
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Chaussé
Âge : 20
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant Réseaux et Télécoms
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2009
Messages : 103
Points : 56
Points : 56
Par défaut Ordonner les résultats d'une requête

Bonjour,

Je fais une requête et j'aimerais l'ordonné en fonction de mon attribut horrairesPasser qui a pour format DATE.

Voici ce que contient ma table:


Voici ma requête:


Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$requete='
  SELECT horrairesPasser, count(1) 
  FROM Passer 
  WHERE idLignes = 
  (
    SELECT idLignes 
    FROM Lignes 
    where nomLignes = "'.$_POST['nomLignes'].'"
  ) 
    AND idArrets = 
    (
      SELECT idArrets 
      FROM Arrets 
      where nomArrets = "'.$_POST['nomArrets'].'"
    ) 
ORDER BY horrairesPasser';
Il m'affiche 7h50 or j'aurai voulu qui m'affiche 5H00.

Cordialement
TWEESTY est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 16h55   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur d'études en informatique
Secteur : Enseignement

Informations forums :
Inscription : août 2006
Messages : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
Citation:
horrairesPasser
Quelle horreur !
=> horairePasser, avec un seul R !
Et encore, qu'est-ce qu'un "Passer" ?

Tu devrais plutôt utiliser des jointures.

Réécriture de ta requête :
Code :
1
2
3
4
5
6
7
SELECT p.horrairesPasser, COUNT(*) AS nb
FROM Passer AS p
INNER JOIN Lignes AS l ON l.idLignes = p.idLignes
INNER JOIN Arrets AS a ON a.idArrets = p.idArrets
WHERE l.nomLignes = '".$_POST['nomLignes']."'
    AND a.nomArrets = '".$_POST['nomArrets']."'
ORDER BY p.horrairesPasser
Quant au résultat attendu, il dépend forcément des variables donc commence par faire un echo de la requête réellement envoyée au serveur et teste là directement dans phpMyAdmin pour voir où se situe le problème.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/11/2010, 21h14   #3
Membre du Club
 
Homme Nicolas Chaussé
Étudiant Réseaux et Télécoms
Inscription : octobre 2009
Messages : 103
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Chaussé
Âge : 20
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant Réseaux et Télécoms
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : octobre 2009
Messages : 103
Points : 56
Points : 56
Citation:
Envoyé par CinePhil Voir le message
Quelle horreur !
=> horairePasser, avec un seul R !
Et encore, qu'est-ce qu'un "Passer" ?

Tu devrais plutôt utiliser des jointures.

Réécriture de ta requête :
Code :
1
2
3
4
5
6
7
SELECT p.horrairesPasser, COUNT(*) AS nb
FROM Passer AS p
INNER JOIN Lignes AS l ON l.idLignes = p.idLignes
INNER JOIN Arrets AS a ON a.idArrets = p.idArrets
WHERE l.nomLignes = '".$_POST['nomLignes']."'
    AND a.nomArrets = '".$_POST['nomArrets']."'
ORDER BY p.horrairesPasser
Quant au résultat attendu, il dépend forcément des variables donc commence par faire un echo de la requête réellement envoyée au serveur et teste là directement dans phpMyAdmin pour voir où se situe le problème.
Merci Beaucoup

Notre prof nous a pas appris cette méthode donc je te remercie.

Cordialement
TWEESTY 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 01h03.


 
 
 
 
Partenaires

Hébergement Web