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 :

Récupération d'une donnée ?


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut Récupération d'une donnée ?
    Bonjour à tous,

    j'ai un petit soucis sur la récupération d'une variable choisie en 'faitselect'

    Dans mon action, la personne choisi en étape 0 les objets dont elle va se servir, puis, dans l'étape 1 elle détermine quels outils elle va utiliser ainsi que l'objet qu'elle va fabriquer, enfin, l'étape 2 calcule sa réussite (ou son échec) et j'aimerais que cette étape fasse s'user les outils qu'elle a choisi.

    Le soucis c'est que le choix ne semble pas être prit en compte Lorsque je fais un 'echo' de la variable celle-ci n'apparait pas et quand je fais un 'var_dump' il m'apparait un 'NULL' en haut de page et la moitié de la page voit sa font doubler en taille...

    Les Scripts:
    Celui de l'étape 1, le choix des outils:
    $SQL =$PERSO->listeObjets(array('Outil'),'Forgeron', 0,0, 0,-1);
    $var2= faitSelect("id_outil",$SQL);
    Puis celui de l'étape 2, les outils qui doivent être usés:
    $trouve2=false;
    $i=0;
    $compteur = count($PERSO->ObjetPJ);
    while($i<$compteur && $trouve2==false) {
    if ($id_outil == $PERSO->Objets[$i]->id_clef) {
    $trouve2=true;
    $Outil = $PERSO->Objets[$i];
    } else
    $i =$i+1;
    }
    $Outil->Abime();
    L'erreur qui apparait:
    Fatal error: Call to a member function on a non-object in /home3/a/althais/www/alth_352/game/forger.php on line 173
    La ligne 173 étant: $Outil->Abime();

    Lorsque j'ôte le '$Outil->Abime();' la fonction tourne mais n'use pas les outils...

    Apparement id_outil, donc $Outil ne sont pas reconnus en tant qu'objet, mais je ne vois pas d'où cela peut provenir ?

  2. #2
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Citation Envoyé par Arkhar
    L'erreur qui apparait:

    La ligne 173 étant: $Outil->Abime();

    Lorsque j'ôte le '$Outil->Abime();' la fonction tourne mais n'use pas les outils...
    Es-tu sûr d'avoir instancié ton objet, c'est à dire de faire un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Outil = new Outils($parametres);

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $Outil = new Outils();
    $Outil = $PERSO->Objets[$i];
    En général, comme dit ci dessus, c'est que tu n'as surement pas instancié ton objet Outil.

  4. #4
    Membre chevronné Avatar de yjuliet
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Août 2006
    Messages
    362
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 362
    Par défaut
    Salut.

    - peux-tu utiliser [ CODE ] et non [ QUOTE ] stp ???

    - as-tu essayé quelque chose comme ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    print_r( $PERSO->Objets; )
    Je crains que $PERSO->Objets; ne contienne pas des objets correctement instanciés.

    Par ailleurs, je vois que tu utilises pour la gestion du compteur :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $compteur = count($PERSO->ObjetPJ);
    et que par la suite, tu utilises

    Je ne sais pas si c'est ton code réel, mais le cas échéant, il faudra peut-être jeter un coup d'oeuil de ce côté.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut oui
    Effectivement, le code avait été rectifié après le premier post pour aboutir à:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
                            $trouve2=false;
                            $i=0;
                            $compteur = count($PERSO->Objets);
                            while($i<$compteur && $trouve2==false) {
                              if ($id_outil == $PERSO->Objets[$i]->id_clef) {
                                   $trouve2=true;
                                   $Outil = $PERSO->Objets[$i];
                              } else
                                   $i =$i+1;
                            }
                            $Outil->Abime();
    Lorsque je remplace:
    $Outil->Abime();
    par:
    var_dump($PERSO->Objets[0]->id_clef);

    j'obtiens:
    string(1) "1"

    A quel endroit dois mettre ces codes ?
    print_r( $PERSO->Objets; )
    et:
    $Outil = new Outils();
    $Outil = $PERSO->Objets[$i];

    Lorsque je mets ces deux dernière lignes avant les codes, la première ligne ($Outil = new Outils() m'apparait en erreur.

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 3
    Par défaut ...
    Bon... bah tant pis ...merci quand même...

Discussions similaires

  1. [C#] Récupération d'une donnée dans BDD Access
    Par Kerod dans le forum Windows Forms
    Réponses: 8
    Dernier message: 29/07/2014, 20h29
  2. récupération d'une donnée à partir de son nom
    Par tom6359 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/06/2007, 19h59
  3. [ODBC] Récupération d'une donnée pour insertion dans une autre table
    Par rom950 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 10/03/2006, 18h13
  4. Réponses: 2
    Dernier message: 14/10/2005, 11h11
  5. Réponses: 4
    Dernier message: 11/06/2004, 17h27

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