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 :

[POO] POO et SELECT dans une base de données


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 11
    Points
    11
    Par défaut [POO] POO et SELECT dans une base de données
    Bonjour à toutes et à tous !

    Bon, étant un vieux de la vieille (dans mon esprit, cela s'entend), je me suis rajeunis un poil hier soir en me mettant à la POO.
    Bref, jusque là pas trop de problèmes, sauf que l'application pratique est corsée...

    Je désire faire tout simplement une classe gérant les SELECT à ma base de données. Pour l'instant, pas de gestion de la connection ou autres, juste pour le select.
    Je souhaite par un méthode traiter les données selectionnées dans un tableau, comme je le fais normalement.
    Cependant, je ne dois pas avoir saisi les subtilités du return ou autre, parce que impossible de retrouver le résultat sous forme de tableau en bout de course !!

    Bref, je vous met mon code...

    Voilà ma classe :
    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
     
    class mysql {
    	// SELECT
    	function select ($champ, $base, $conditions)
    	{
    		if (isset ($conditions))
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base WHERE $conditions");
    			$tableau = mysql_fetch_array($result);
    			return $this->$tableau;
    		}
    		else
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base");
    			$tableau = mysql_fetch_array($result);
    			return $this->$tableau;
    		}
    	}	
    }
    Et voilà le traitement dans mon fichier .php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $requete = new mysql();
    $donnee = $requete->select("lieu, maison", "membre", "nom='$nom'");
    echo "donnee[3]";
    Là, je vous met le code après modification sur modification pour arriver à un résultat...

    Merci d'avance pour votre aide envers un pauvre débutant en POO...

  2. #2
    Membre régulier
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Points : 82
    Points
    82
    Par défaut
    pourquoi tu mets $this->$tableau ?
    $tableau n est pas une des propriétés de ta classe,
    et je pense que ca s ecrirait plus comme ca $this->tableau si tableau etait une propriete

  3. #3
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Tu peux faire cela plutot

    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
    class mysql {
    	// SELECT
    	function select ($champ, $base, $conditions)
    	{
    		if (isset ($conditions))
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base WHERE $conditions");
    			return mysql_fetch_array($result);
    		}
    		else
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base");
    			return mysql_fetch_array($result);
    		}
    	}	
    }
    ou bien

    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
    class mysql {
    private $tableau = null; // attibut tableau
    	// SELECT
    	function select ($champ, $base, $conditions)
    	{
    		if (isset ($conditions))
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base WHERE $conditions");
    			$this->tableau = mysql_fetch_array($result);
    			return $this->tableau;
    		}
    		else
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base");
    			$this->tableau = mysql_fetch_array($result);
    			return $this->tableau;
    		}
    	}	
    }

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Oui, effectivement, petite erreur de ma part. Cela vient du fait que j'ai tout essayé (et tout bricollé ?) pour arriver à afficher quelque chose...
    En tout cas, merci de ta réponse rapide !

    En fait, mon vrai problème est d'arriver à créer un tableau des données sélectionnées dans ma base de données, et cela directement dans la classe, puis de pouvoir réexploiter ce tableau dans mon script...
    Et là je bloque vraiment...
    Comment faire cela ?
    Merci !

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup ! Ca marche !

    J'ai au passage compris d'où venait l'erreur : je cherchais désespéremment à passer le tableau de ma requette directement dans une autre variable...

    Merci encore !

  6. #6
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Citation Envoyé par SeigneurMartin Voir le message
    En fait, mon vrai problème est d'arriver à créer un tableau des données sélectionnées dans ma base de données, et cela directement dans la classe, puis de pouvoir réexploiter ce tableau dans mon script...
    Et là je bloque vraiment...
    Comment faire cela ?
    Merci !
    Dans mon 2ème exemple tu as l'attribut tableau qui est définis par la fonction select. Tu peux très bien utiliser la valeur de l'attribut tableau ( en utilisant $this->tableau) dans une autre fonction.

    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
    22
    23
    24
    25
    26
    27
     
    class mysql {
    private $tableau = null; // attibut tableau
    	// SELECT
    	function select ($champ, $base, $conditions)
    	{
    		if (isset ($conditions))
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base WHERE $conditions");
    			$this->tableau = mysql_fetch_array($result);
    			return $this->tableau;
    		}
    		else
    		{
    			$result = @mysql_query ("SELECT $champ FROM $base");
    			$this->tableau = mysql_fetch_array($result);
    			return $this->tableau;
    		}
    	}	
    }
     function get_element ($var)
    {
    if ( $this->tableau != null && isset($this->tableau[$var]) )
     return $this->tableau[$var];
    }
    else 
     return 0;
    Si cela peut t'aider. L'exemple n'est pas génial mais il montre comment tu peux réutilisé ce que tu as obtenu avec ta fonction select.

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

Discussions similaires

  1. Selection dans une base de données sqlite
    Par moudjames23 dans le forum Android
    Réponses: 5
    Dernier message: 09/06/2015, 20h23
  2. [MySQL] probleme avec le retour d'une selection dans une base de donnees
    Par sovo dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/02/2010, 18h00
  3. Select dans une base
    Par Cheeper dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/02/2008, 11h12
  4. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  5. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12

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