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 :

PHP5 debutante class


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut PHP5 debutante class
    bonjour,
    j ai une classe categorie sur une page class.categorie.php, je voudrait retrourner mes titre des categorie dans mon menu j ai trouver ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      public function getTitre() {
            return (string) $this->titre;
        }
    et donc dans ma page index.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?PHP
    include_once("lib/class/class.categorie.php"); 
     
    $mesCategories = new Categorie();
    echo $mesCategories-> getTitre();
    ?>
    MES RIEN NE s'affiche que faire?
    de plus ne devrai pas mettre une foreach pour faire une boucle
    JE SUIS debutante en php5 .
    et pouvez m indiquer ce que veut dire implements ?

    merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    A quel endroit définis-tu $this->titre ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Bonjour,

    Quand tu appeles le constructeur (par la méthode new), cette méthode ne doit rien initialiser pour titre donc le this->titre n'affichera rien ....


    Dans ta class, il doit exister une fonction setTitre qui permet de donner un titre au champ titre de ta class.


    setTitre et getTitre sont appelés des getteurs/setteurs de class

  4. #4
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    voici ce que j ai trouver dans class:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public function setTitre($titre) {
            if (is_string($titre) && strlen($titre)>0 && strlen($titre)<255) {
                $this->titre = html_entity_decode($titre);
            } else {
                throw new InvalidArgumentException('Titre trop long ou de type incorrect');
            }
            return $this;
        }
    merci

  5. #5
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Donc en fait ce que tu fais, c la création d'une nouvelle catégorie avec la commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mesCategories = new Categorie();
    Mais cette catégorie est vide à la base
    Il faut lui faire un setTitre pour lui ajouter un titre ....

    Ensuite qd plusieurs catégories seront crées, tu pourras faire un foreach de toutes les catégories et afficher les titres avec getTitre.

  6. #6
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    ok mais cette classe a été fait par rapport aune table catégorie qui a les même attribut et qui possédé déjà les catégories que je voulais enfaite afficher avec l aide de la classe.

  7. #7
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Et bien dans ce cas, il faut lire la table des catégories avec un pg_fetch_object (postgres), un mysql_fetch_object (mysql) ....
    puis au fur et à mesure faire des
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mesCategories = new Categorie($res->titre, $res->author);
    par exemple

    Il faudra donc que si ce n'est pas fait, ajouter un constructeur si celui ci n'est pas déjà fait.

  8. #8
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    merci j ai donc ce message qui s affiche :
    Trying to get property of non-object a cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mesCategories = new Categorie($res->titre);
    voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $liste_categorie = ("SELECT * from achatsenfolie__categorie");
     
    $res	=  mysql_query($liste_categorie) or die('Erreur SQL !'.$liste_categorie.'<br>'.mysql_error());
     
     
    while($row = mysql_fetch_object($res)) {
    $mesCategories = new Categorie($res->titre);
        echo $row->titre;
     
    }
    mysql_free_result($res);
    merci j ai dut mal avec les -> pouvez m expliquer un peu plus.
    MERCI J AIMEREAI comprendre le code.

  9. #9
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    A mon avis, ton constructeur n'existe pas pour ta class, montres moi la déclaration de la class catégorie.

    De plus c :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mesCategories = new Categorie($row->titre);
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $mesCategories = new Categorie($res->titre);

  10. #10
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    merci le message à disparu génial mais je ne pas comment faire car ils sont tous coller l un a l autre sans separation et de plus il ne prend pas en compte le <ul><il> pour chaque categorie:
    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
     
    <ul class="menu">
    		<il>	
            <?php                
     
    $liste_categorie = ("SELECT * from achatsenfolie__categorie");
     
    $res	=  mysql_query($liste_categorie) or die('Erreur SQL !'.$liste_categorie.'<br>'.mysql_error());
     
     
    while($row = mysql_fetch_object($res)) {
    $mesCategories = new Categorie($row->titre);
    echo $row->titre;
     
    }
    mysql_free_result($res);
     
    ?>
     </li> </ul>
    comment faire ?
    MERCI ENCORE

  11. #11
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    C normal, car tous tes <li></li> doivent être dans la boucle
    Au passage c <li> et non <il>

  12. #12
    Membre éprouvé
    Inscrit en
    Janvier 2008
    Messages
    1 159
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 159
    Par défaut
    merci erreur de frappe cela fonctionne nikel pourrait tu quand même expliquer un peu le code, car j ai un peu de mal.

    merci encore french de ton attention

  13. #13
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    Déjà c Fench et non French, tout le monde dérappe sur le terme Anglais alors que c Breton.

    Ensuite explications sur quoi:
    sur les objets en Php : sur ce forum doit y avoir un tutoriel dessus ...
    sur les puces <li> : sur ce forum doit y avoir un tutoriel dessus ...
    sur le sql : sur ce forum doit y avoir un tutoriel dessus ...
    Bon je plaisante

    Fait des recherches, c comme celà que tu aprendras le mieux parceque je sais pas ce qu'il faut t'expliquer maintenant

    Bonne soirée

Discussions similaires

  1. debutante classe / module
    Par Mydriaze dans le forum Général Python
    Réponses: 2
    Dernier message: 13/02/2009, 21h16
  2. [POO] Classe en PHP5
    Par neptune dans le forum Langage
    Réponses: 5
    Dernier message: 01/09/2005, 17h55
  3. Réponses: 3
    Dernier message: 19/05/2005, 10h46
  4. class php5 - Fatal error: main() [function.main]
    Par tom261285 dans le forum Langage
    Réponses: 3
    Dernier message: 21/01/2005, 14h41
  5. Réponses: 3
    Dernier message: 23/08/2004, 17h49

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