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] Tableau et classe [Fait]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Par défaut [POO] Tableau et classe
    Bonsoir,
    je me mets à la POO et je bloque à ce niveau.
    J'ai une base de données une table CP (id,cp, commune)
    j'ai créé une classe code_postal.

    Je me connecte à la base de donnée et je voudrais pouvoir stocker les données dans un tableau de classe. Mais là je sèche pour la connexion entre les deux ainsi que le parcours par la suite pour faire afficher.

    Merci
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    <?php
    $host = "localhost";
    $user="root";
    $passwd="";
    $bdd="ean";
     
    // Connexion au serveur
    mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
     
    mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
     
    // Creation et envoi de la requete
    $query = "SELECT id,cp,commune FROM cp ";
     
    $result = mysql_query($query);
     
    // Recuperation des resultats
    while($row = mysql_fetch_row($result)){
    $id = $row[0];
     
    $cp = $row[1];
    $commune=$row[2];
    echo"$id $cp $commune<br>";
    }
    class code_postal
    {
     var $cp;
     var $commune;
     
     function __construct($cp,$commune)
      {
      $this->cp = $cp;
      $this->commune = $commune;
      }
     
     function info()
       {
       return "$this->cp $this->commune<br>";
       }
    }
    ?>

  2. #2
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonsoir,

    tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    // Recuperation des resultats
    while($row = mysql_fetch_row($result)){
         $tabVille[] = new code_postal($row[1],$row[2]);
    }
    Enfin là c'est quand même le b-a-ba. On trouve des exemples dans tous les tutos

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    378
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 378
    Par défaut
    Merci,
    peux tu me donner un tuto où je peux trouver ce genre d'infos avec les classes car je tombe pas dessus.

    Comment fais tu pour lister ensuite car je me retrouve avec erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
           $i=0;
    while($i < count($tabVille))
    {
    echo "$tabVille[$i]->cp $tabVille[$i]->commune<br>";
    $i++;
    }
    merci

  4. #4
    Membre émérite
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Par défaut
    non, il faut que tu fasse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    foreach ($tabVille as $key=>$value){
    echo $value->info();
    }
    En effet, tu utilise les méthodes de ta classe pour faire tes opérations !!!!

    PS : il faut mettre un echo devant ton $value->info() parce que dans ta classe tu met un return.....

    Il y a des tutaux ici : http://php.developpez.com/cours/#langage
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  5. #5
    Membre éprouvé
    Avatar de berceker united
    Profil pro
    SQL
    Inscrit en
    Février 2005
    Messages
    3 509
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : SQL
    Secteur : Finance

    Informations forums :
    Inscription : Février 2005
    Messages : 3 509
    Par défaut
    je suis justement en train de faire un article sur ça.

Discussions similaires

  1. [POO] Tableau d'objets B dans une instance de class A
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 24/05/2006, 09h52
  2. [POO] [PHP 5 CLASSES]Source à part?
    Par Jean_Benoit dans le forum Langage
    Réponses: 3
    Dernier message: 20/10/2005, 11h50
  3. [POO] Ecrire une classe descendante
    Par GLDavid dans le forum Langage
    Réponses: 4
    Dernier message: 14/10/2005, 19h04
  4. tabeau de classe = tableau de classe
    Par Bason_sensei dans le forum C++
    Réponses: 25
    Dernier message: 12/10/2005, 13h01
  5. Réponses: 2
    Dernier message: 09/10/2005, 15h35

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