Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en 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 09/07/2007, 11h32   #1
Membre confirmé
 
Chef de projet NTIC
Inscription : avril 2007
Messages : 225
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chef de projet NTIC

Informations forums :
Inscription : avril 2007
Messages : 225
Points : 205
Points : 205
Par défaut Probleme de selection

Bonjour

J'ai 2 tables :

mobiles { id, vendor, model, url }
consultations {id, mobile_id, project_id, dateStart, dateEnd, ... }

J'essaye d'extraire les données vendor, model et url en fonction du project_id, dateStart et dateEnd.
J'y arrive tres bien lorsqu'il ne s'agit que des dates avec cette requete :

Code :
1
2
3
4
5
6
SELECT DISTINCT mobiles.id,vendor, model, url 
FROM mobiles,consultations
WHERE dateStart >= '".$dateDebut."'
AND dateEnd <= '".$dateFin."'
AND consultations.mobile_id = mobiles.id
ORDER BY vendor
Par contre je n'y arrive pas quand j'essaye de mettre comme condition le project_id avec cette requete :

Code :
1
2
3
4
5
6
SELECT mobiles.id,vendor, model, url
FROM mobiles,consultations 
WHERE consultations.project_id = ".$projet."
AND consultations.mobile_id = mobiles.id
AND dateStart >= '".$dateDebut."'
AND dateEnd <= '".$dateFin."'
Cette requete devrait me retourner 1 enregistrement alors que là elle ne retourne rien (pas d'erreur lorsque j'execute la requete).

$projet, $dateStart, $dateEnd sont des variables PHP.

Quelqu'un pourrait il me dire pouquoi ?

Merci
gannher est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/07/2007, 09h00   #2
ced
Rédacteur/Modérateur

 
Avatar de ced
 
Homme Cédric Duprez
Inscription : avril 2002
Messages : 3 823
Détails du profil
Informations personnelles :
Nom : Homme Cédric Duprez
Âge : 36
Localisation : France, Loiret (Centre)

Informations professionnelles :
Secteur : Agroalimentaire - Agriculture

Informations forums :
Inscription : avril 2002
Messages : 3 823
Points : 6 422
Points : 6 422
Bonjour,

Quel est le type de la donnée project_id : entier, chaîne de caractères, autre ?
Que vaut la variable $projet au moment de l'exécution de la requête ?
Une aide pour débugger ce genre de choses : éditer la requête avec un echo() (ou un print()), et l'exécuter sous un client MySQL pour analyser l'erreur.
Ou alors, faire afficher l'erreur dans le code PHP.

ced
ced est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/07/2007, 22h23   #3
Membre à l'essai
 
Inscription : juillet 2007
Messages : 26
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 26
Points : 22
Points : 22
Essayes ça :

Code :
1
2
3
4
5
6
SELECT mobiles.id,vendor, model, url 
FROM mobiles,consultations 
WHERE consultations.project_id = '.$projet.' 
AND consultations.mobile_id = mobiles.id 
AND dateStart >= '".$dateDebut."' 
AND dateEnd <= '".$dateFin."'
Je pense que ton problème vient seulement des cotes. Si ta variable $projet est un INT, utilise seulement des cotes simples, sinon utilise la meme syntaxe que pour tes dates.
Je suis pas certain mais ce qui est sur, c'est que avec les cotes doubles, ça ne fonctionera pas.
raspout81 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 20h23.


 
 
 
 
Partenaires

Hébergement Web