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] demande AIDE pour conception en SQL


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut [SQL] demande AIDE pour conception en SQL
    Bonjour, je voudrais savoir comment faire pour Imaginons que nous sommes une société avec chaques jour de la semaine les arrivées de employés
    Donc
    Lundi - Dupont - 8h54
    Mardi - Dupont - 9h02
    Mercredi - Dupont - 8h58
    Jeudi - Charly - 9h01

    Voila je voudrais
    Rechercher dans la table par exemple les heures d'arrivées de Dupont lundi par exemple comment faire en Sql? merci

  2. #2
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    Salut,

    apparemment tu n'as jamais touché à une base de données donc je te conseillerais d'aller voir les cours sql

    Sinon c'est une bête requête sql vu ton exemple, imaginons que tes 3 colonnes se nomment "Jour", "Nom", "HeureArrivée" et que ta table se nomme "Présences" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Nom, HeureArrivée FROM Présences WHERE Nom = 'Dupont' AND Jour = 'Lundi';
    ca te retournera 2 colonnes "Nom" et "HeureArrivée" avec comme contenu "Dupont", " 8h54"

    Voila je te conseil plus qu'a lire un peu les cours pour en savoir un peu plus.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Re Ben il est vrai que mes notions ne sont pas tres aprofondies mais cela ne fonctionnera pas comme je voudrais car Je voudrais L'arrivée le lundi pour Dupont et qu'on retourne l'heure d'arrivée

    merci de ton aide

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    $jour = "1";
    $log = "Dupont";

    $requetelast1 = "SELECT jour, log, heureA FROM Heures".
    " WHERE jour='$jour' AND log='$log'";

    $result=mysql_query($requetelast1);
    echo $enreg["heureA"];

  5. #5
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    J'avoue ne pas saisir ou est le probleme

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Ben la requête reste muette rien ne s'affiche, meme pas d'erreur rien :-(

    Merci

  7. #7
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    Quelle erreur vous renvoie le resultat dans le code PHP ?

    avez vous essayé d'executer la requête dans un client BDD ? sans le code PHP ?

    Si oui, quelle est l'erreur retournée ?

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Rien du tout la page est vierge, merci
    "SELECT * FROM HorairesArrivee".
    "WHERE jour='$jour' AND log='$log'";



    #1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE jour = "1" AND log = "dupont"
    LIMIT 0, 30' at line 1

  9. #9
    Membre expérimenté Avatar de Yanika_bzh
    Homme Profil pro
    Responsable Applicatif et R&D
    Inscrit en
    Février 2006
    Messages
    1 144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Responsable Applicatif et R&D
    Secteur : Finance

    Informations forums :
    Inscription : Février 2006
    Messages : 1 144
    Points : 1 738
    Points
    1 738
    Par défaut
    La requete que vous donnez en exemple n'est donc pas complete (il manque le Limit). La simple Quote trainant à coté du 30 va certainement vous poser problème

  10. #10
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    la simple quote après le 30 a été ajoutée par l'erreur je pense (vu qu'il y en a un avant le where )

    Ca fait longtemps que j'ai pas touché a MySQL mais il me semble voir 2 petites erreurs...

    Les nombres ne doivent pas être mis entre quote et les chaines de caractères doivent être entre simple quote.

    Ce qui donne avec ta requete quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM HorairesArrivee WHERE jour=1 AND log='Dupont';
    Petit conseil avant de se mettre dans le code php, toujours testé les requetes sql séparémment surtout quand on est pas sur de la requete ^^

  11. #11
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    en sql sur phpmyadmin la requête sélectionne bien la ligne, mais sur php via le web rien ne s'affiche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $jour = 1;
    $log = 'Dupont';
     
    $requetelast1 = "SELECT *  FROM Heures".
    "WHERE jour= $jour AND log=$log";
     
    $result=mysql_query($requetelast1);
    echo $enreg["heureA"];

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Points : 71
    Points
    71
    Par défaut
    Il te manquerait pas une ligne genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $jour = 1;
    $log = 'Dupont';
    
    $requetelast1 = "SELECT * FROM Heures".
    "WHERE jour= $jour AND log=$log";
    
    $result=mysql_query($requetelast1);
    $enreg = mysql_fetch_array($result);
    echo $enreg["heureA"];

  13. #13
    Membre averti
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Points : 349
    Points
    349
    Par défaut
    Citation Envoyé par copart Voir le message
    en sql sur phpmyadmin la requête sélectionne bien la ligne, mais sur php via le web rien ne s'affiche


    $jour = 1;
    $log = 'Dupont';

    $requetelast1 = "SELECT * FROM Heures".
    "WHERE jour= $jour AND log=$log";

    $result=mysql_query($requetelast1);
    echo $enreg["heureA"];
    essaie ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $log = "Dupont";
     
    $requetelast1 = "SELECT *  FROM Heures".
    "WHERE jour= $jour AND log='$log';";
    Quand on déclare une variable de type chaine de caractère c'est toujours avec des double quotes et les simples quotes doivent être dans ta requete, donc entre $log.

    par précaution je rajouterais aussi un ; après '$log' car je sais plus si il est obligatoire ou pas en MySQL.

    voila...

  14. #14
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Une autre version :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      $jour = 1;
      $log = 'Dupont';
     
      $requetelast1 = 'SELECT jour, log, heureA FROM Heures
                       WHERE jour = ' . $jour . ' 
                       AND log = \'' . $log . '\'';
     
      $result = mysql_query($requetelast1);
      $enreg = mysql_fetch_array($result, MYSQL_ASSOC);
      echo $enreg['heureA'];
    ?>

  15. #15
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2007
    Messages : 10
    Points : 4
    Points
    4
    Par défaut
    Merci a tous pour cet aide

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

Discussions similaires

  1. [MySQL] Demande d'aide pour syntaxe requête SQL
    Par goldrazor dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2012, 14h01
  2. Demande d'aide pour une requete SQL
    Par MatthieuC06 dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/10/2009, 10h46
  3. Aide pour une requete SQL
    Par hpghost dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 08/01/2005, 15h01
  4. Aide pour une requete SQL
    Par hpghost dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 08/01/2005, 10h15
  5. Besoin d'aide pour une Requête SQL ...
    Par Kokito dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/07/2004, 11h56

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