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 :

Probleme requete SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Par défaut Probleme requete SQL
    Bonjour,

    J'ai crée une fonction php qui regarde tous les jours fériés présent dans une table, la table a cette architecture et les données suivantes :

    DAY MONTH
    1 1
    1 5
    8 5
    14 7
    15 8
    11 11
    25 12

    la fonction ressemble à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    function verifjourferies($mois,$jour){
     
    	require_once('mysql.php');
     
    	$sql_F = sprintf("SELECT DAY, MONTH FROM ferie WHERE MONTH = '%s'",
    					mysql_real_escape_string($mois));
     
    	$result_F = $dbh->query($sql_F);
    	foreach ($result_F as $row_F) 
    	{	
    		if($row_F['DAY'] == $jour){
    			return TRUE;
    		}else{
    			return FALSE;
    		}
    	}
     
    }
    le code marche bien pour toutes les dates excepté pour le 8 mai, surement parce qu'il y a pour le mois 5 deux jours différents, seulement je n'arrive pas a régler le problème.

    P.S: Il n'y a aucune clé sur la table.

  2. #2
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Il faudrai savoir ce que retourne ton $result_F = $dbh->query($sql_F);
    La liste complete des enregistrements ou juste un seul enregistrement ?

    Classiquement, un seul enregistrement au coup est renvoyé, et il faut faire un "next" ou ce qui est équivalent chez toi.

    [Edit]Mais non, suis-je niais (toi aussi d'ailleur). Dans ton foreah, tu as if avec un return et un else avec un return, donc dans tous les cas --> return. Ce qui signifie qu'il ne regarde jamais plus de 1 enregistrement.
    Tu dois passer par une variable intermédiare, initialisé a false, si tu trouves, tu la passes à true, et tout à la fin tu fais un return de ta variable.[/edit]

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 288
    Par défaut
    J'ai modifié la fonction et celle-ci marche très bien, merci de l'aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    function verifjourferies($mois,$jour){
     
    	//date("n") = mois de l'année au format 1-12
    	//date("j") = jour du mois au format 1-31
    	require_once('mysql.php');
     
    	$sql_F = sprintf("SELECT count(*) AS nbres FROM ferie WHERE MONTH = '%s' AND DAY = '%s'",
    					mysql_real_escape_string($mois),
    					mysql_real_escape_string($jour));
     
    	$result_F = $dbh->query($sql_F);
    	$row_F = $result_F->fetch();
    	$result_F = null;
     
    	if($row_F['nbres'] == 1){
    		return TRUE;
    	}else{
    		return FALSE;
    	}
     
    }
    Explication : Vu que les jours ferie tombent à un mois et jour précis, on a juste besoin de compter si ce jour et ce mois se trouvent sur la mème ligne, si oui, on trouve le nbres == 1 donc on retourne TRUE.

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

Discussions similaires

  1. [MySQL] Probleme requete sql et code html
    Par needles94000 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 16/03/2006, 17h38
  2. [Access] Probleme requete SQL
    Par kissmytoe dans le forum Langage SQL
    Réponses: 11
    Dernier message: 24/02/2006, 15h25
  3. probleme requete SQL
    Par grochenel dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/12/2005, 09h26
  4. [MySQL] probleme requete sql et php
    Par digger dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/10/2005, 14h15
  5. probleme requete sql
    Par Shosho dans le forum Langage SQL
    Réponses: 12
    Dernier message: 03/05/2005, 09h25

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