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

Langage PHP Discussion :

Requete sql dans une fonction


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut Requete sql dans une fonction
    Bonjour,

    je rencontre un nouveau problème, j'ai réalisé une fonction dans la laquelle se trouve ma requete sql le problème c'est que ma fonction me retourne seulement une valeur (la dernière). C'est la première que je réalise avec une requete à l'intérieur donc là, mais capacité ont atteint leurs limites.

    Voila ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	function getEventsDate()
    		{
    		mysql_connect('localhost', 'root', '');
    		mysql_select_db('evet');
    		$rqt = mysql_query('SELECT*FROM ev ORDER BY date_eve');
    		while($tab = mysql_fetch_array($rqt))
    			{
    			$da = $tab['da_ev'];
    			}
    		return $da;
    		mysql_close();
    		}
    merci pour vos aides !

  2. #2
    Membre du Club
    Inscrit en
    Avril 2009
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 37
    Points : 40
    Points
    40
    Par défaut
    Citation Envoyé par xess91 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	function getEventsDate()
    		{
    		mysql_connect('localhost', 'root', '');
    		mysql_select_db('evet');
    		$rqt = mysql_query('SELECT*FROM ev ORDER BY date_eve');
    		while($tab = mysql_fetch_array($rqt))
    			{
    			$da = $tab['da_ev'];
    			}
    		return $da;
    		mysql_close();
    		}
    merci pour vos aides !
    Oui vu ton code s'est normal.

    en fait tu boucles bien sur toutes les lignes retournees par ta requete mais tu mets le resultat dans une donnee normal (donc une chaine) et a chaque element que tu lis tu reecrases ta donnee ($da) donc au final tu renvois que le dernier element lu dans ta variable $da

    Plusieurs petits trucs...
    Le code d'une fonction s'arrete au return, tout ce que tu mets derriere n'est donc pas execute. En l'occurence ici ta fermeture mysql_close n'est pas faite.

    Ensuite a la lecture de ton code, j'ai l'impression que tu veux recuperer que la colonne da_ev. Pourquoi faire un 'SELECT * FROM...' alors...
    Un 'SELECT da_ev FROM ... ' suffit amplement (a verifier si l'order fonctionnera correctement je ne sais plus ..., mais bon au pire tu rajoutes la colonne de l'order).
    Un * ramene toutes les colonnes d'une table. Si tu en as pas besoin evites de le faire.

    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
     
    function getEventsDate()
    		{
    		mysql_connect('localhost', 'root', '');
    		mysql_select_db('evet');
    		$rqt = mysql_query('SELECT da_ev FROM ev ORDER BY date_eve');
    		$da = array();
    		while($tab = mysql_fetch_array($rqt))
    			{
    			$da[] = $tab['da_ev'];
    			}
    		mysql_close();
    		return $da;
     
    		}
    Et donc la $da est un tableaux qui contient toutes les lignes ramenees...

  3. #3
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut
    Bonjour;
    Je trouve ça tout a fait normal, puisque tu es entrain de boucler sur le jeu de résultat de la requête SQL: premier élément,deuxième élément .... dernier élément et et chaque fois tu écrase la précédente valeur mise dans la variable $da. Je pense.. donc tu vas te retrouver avec la dernière valeur. Cordialement

Discussions similaires

  1. Mettre une requete SQL dans une fonction
    Par yenna dans le forum ASP
    Réponses: 3
    Dernier message: 21/06/2007, 10h21
  2. [MySQL] Requetes SQL dans une boucle PHP
    Par Siteac dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 12/11/2006, 14h35
  3. Réponses: 3
    Dernier message: 17/06/2006, 23h15
  4. Importer valeur requete SQL dans une Requete
    Par qbihlmaier dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 21/03/2006, 14h24
  5. Recuperer un enregistrement de requete SQL dans une variable
    Par kleenex dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 14/09/2005, 15h59

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