Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1502 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problemes pour faire une requete SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problemes pour faire une requete SQL

n°1376401
lili421
Posté le 29-05-2006 à 00:15:23  profilanswer
 

Bonjour,
 
J'ai crée un petit site internet sous easy php pour mon bts !
Je passe Mardi à l'oral, et je dois présenter cette activité!
Mon problème est que l'une de mes requetes est fausse.
 
Plus exactement, j'ai 3 tables (BabySitter, Parent, Besoin)
Une BabySitter s'inscrit en précisant (par l'intermediaire de case à cocher) ses diponibilitées(matin, aprem, soir).
Un parent peut faire un ajout de Besoin.
Il doit alors préciser la date, et le moment (case à cocher) auquel il a besoin de quelqu'un.
 
Il y a donc 2 choses a tester:
- Il faut que si le parent coche soirée, je recupere tous les babySitter qui ont cochées au moins soirée !
- Si le code d'un babySitter se trouve deja dans la table Besoin, je teste si il est disponible à la date souhaitée, sinon pas besoin du test !
 
Voila l'une des requetes que j'ai testé, mais qui est incorrecte:

Code :
  1. $requete = "SELECT DISTINCT codeBabySitter, nomBabySitter, prenomBabySitter, telBabySitter, mobileBabySitter"
  2.      . " FROM BabySitter"
  3.      . " WHERE disponibiliteBabySitter1 = '$typeBesoin1'"
  4.      . " AND disponibiliteBabySitter2 = '$typeBesoin2'"
  5.      . " AND disponibiliteBabySitter3 = '$typeBesoin3'";
  6.      . " AND Besoin.codeBabySitter = BabySitter.codeBabySitter"
  7.      . " AND Besoin.dateBesoin <> '$dateBesoin'";


 
Merci d'avance pour votre aide !

mood
Publicité
Posté le 29-05-2006 à 00:15:23  profilanswer
 

n°1376963
Sve@r
Posté le 29-05-2006 à 19:29:56  profilanswer
 

lili421 a écrit :

Bonjour,
 
J'ai crée un petit site internet sous easy php pour mon bts !
Je passe Mardi à l'oral, et je dois présenter cette activité!
Mon problème est que l'une de mes requetes est fausse.
 
Plus exactement, j'ai 3 tables (BabySitter, Parent, Besoin)
Une BabySitter s'inscrit en précisant (par l'intermediaire de case à cocher) ses diponibilitées(matin, aprem, soir).
Un parent peut faire un ajout de Besoin.
Il doit alors préciser la date, et le moment (case à cocher) auquel il a besoin de quelqu'un.
 
Il y a donc 2 choses a tester:
- Il faut que si le parent coche soirée, je recupere tous les babySitter qui ont cochées au moins soirée !
- Si le code d'un babySitter se trouve deja dans la table Besoin, je teste si il est disponible à la date souhaitée, sinon pas besoin du test !
 
Voila l'une des requetes que j'ai testé, mais qui est incorrecte:

Code :
  1. $requete = "SELECT DISTINCT codeBabySitter, nomBabySitter, prenomBabySitter, telBabySitter, mobileBabySitter"
  2.      . " FROM BabySitter"
  3.      . " WHERE disponibiliteBabySitter1 = '$typeBesoin1'"
  4.      . " AND disponibiliteBabySitter2 = '$typeBesoin2'"
  5.      . " AND disponibiliteBabySitter3 = '$typeBesoin3'";
  6.      . " AND Besoin.codeBabySitter = BabySitter.codeBabySitter"
  7.      . " AND Besoin.dateBesoin <> '$dateBesoin'";


 
Merci d'avance pour votre aide !


 
Sans la structure des tables, c'est pas trop évident (je pense que les 3 "disponibilitéBabySitter" correspondent à "Matin", "AM" et "Soir" )
 
Vouloir "au-moins" un besoin, ça se traduit par des "OR" et non des "AND"...
 

Code :
  1. $requete = "SELECT DISTINCT codeBabySitter, nomBabySitter, prenomBabySitter, telBabySitter, mobileBabySitter"
  2.      . " FROM BabySitter"
  3.      . " WHERE (disponibiliteBabySitter1 = '$typeBesoin1'"
  4.      . " OR disponibiliteBabySitter2 = '$typeBesoin2'"
  5.      . " OR disponibiliteBabySitter3 = '$typeBesoin3'";)
  6.      . " AND Besoin.codeBabySitter = BabySitter.codeBabySitter" )
  7.      . " AND Besoin.dateBesoin <> '$dateBesoin'";


Message édité par Sve@r le 29-05-2006 à 21:29:02

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1377015
lili421
Posté le 29-05-2006 à 21:24:13  profilanswer
 

ça ne fonctionne pas !!!

n°1377024
Sve@r
Posté le 29-05-2006 à 21:34:32  profilanswer
 

lili421 a écrit :

ça ne fonctionne pas !!!


DONNE LA STRUCTURE DE TES TABLES (déjà dit !!!)
 
Surtout qu'il y a des détails pas clairs =>

lili421 a écrit :

Un parent peut faire un ajout de Besoin.<...>Si le code d'un babySitter se trouve deja dans la table Besoin


Si seul un parent peut faire l'ajout d'un besoin (sous entendu "j'ai un besoin pour le 12 au soir" ), comment le code d'un babysitter peut déjà s'y trouver ???


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1377035
lili421
Posté le 29-05-2006 à 21:50:06  profilanswer
 

Voila mon MCD !
http://img115.imageshack.us/img115/1384/mcd5aq.jpg
 
En fait, le code baby sitter ne s'y trouve pas encore, je fais une requete sql sous php et le but est d'afficher un tableau contenant les baby sitter disponibles.
 
Par exemple, il se peut qu'un baby sitter soit deja pris le 12 au soir, auquel cas je ne l'affiche pas !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problemes pour faire une requete SQL

 

Sujets relatifs
requete sql vers bdd...Provider SQL Server ?
probleme de connexion SQL Server 2000Requete qui foire
SQL - ntile[Access 2003] Fusionner 2 valeurs en SQL lors d'un import de données
[Access 2003] Ajouter des valeurs au résultat d'une requête[Access] requete SQL, comment connaitre la taille d'une chaine ?
[MySQL] Tri sur la premiere requete avec union 
Plus de sujets relatifs à : Problemes pour faire une requete SQL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR