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

PHP & Base de données Discussion :

Modifier le contenu d'un tableau associatif


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Par défaut Modifier le contenu d'un tableau associatif
    Hello,

    J'aimerai remplacer le contenu d'un champ d'un tableau associatif par une valeur retourné par une fonction. Je n'y arrive pas...

    Voici mon code, la ligne 9 est l'endroit où j'essaie de réaliser le changement de valeur. J'ai aussi mis la fonction qui fournie la valeur. Question subsidiaire: Dans ma fonction, au lieu de retourner la variable "$manager" qui contient le contenu de "$mgrlst['full_name']" comment est ce que je pourrai retourner directement le contenu de "$mgrlst['full_name']"

    La fonction fonctionne parfaitement et me retourne bien une chaine de caractère. L'erreur que j'obtiens à l'exécution est : "Fatal error: Cannot use object of type stdClass as array in..". elle indique la ligne 9 comment étant la fautive.


    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
    <?php
    $profile_key = verif_GetPost($_GET['profile_key']);
    $sql="SELECT * FROM profiles WHERE profile_key='$profile_key' ";
    $qid = mysql_query($sql);  
    if (!$qid)  die ("Probleme :  " . mysql_error());
    $nligne= mysql_num_rows($qid);
    $list=mysql_fetch_object( $qid);
     
    //remplacement de la valeur par celle fournie par detect_manager
    $list['manager']="detect_manager($profile_key)";
     
     
    function detect_manager(&$profile_key)
    {
    global $connex;
    $sql="SELECT left_lm, right_lm, level_lm FROM profiles WHERE profile_key='".($profile_key)."' ";
    $qid = mysql_query($sql);  
    if (!$qid)  die ("Probleme :  " . mysql_error());
    $row=mysql_fetch_assoc($qid);
     
    $sql="SELECT full_name FROM profiles WHERE left_lm<$row[left_lm] AND right_lm>$row[right_lm] AND level_lm=$row[level_lm]-1";
    $qid = mysql_query($sql);  
    $mgrlst=mysql_fetch_assoc($qid);
     
    $manager=$mgrlst['full_name'];
    return $manager;
    }
    ?>
    Merci de votre aide

  2. #2
    Membre confirmé
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Par défaut
    c'est bien cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $list['manager']="detect_manager($profile_key)";
    Pourquoi avoir mis des guillemets, ils ne servent à rien ici, c'est peut être de la que vient le problème.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 32
    Par défaut
    Merci de ta réponse Lilouse. En effet les guillemets sont en trop...mais même sans les guillemets l'erreur persiste. Peut-être parce que la valeur renvoyée est de type string et non array...Je ne sais pas comment faire dans ce cas...

  4. #4
    Membre confirmé
    Femme Profil pro
    Technicien Help Desk
    Inscrit en
    Mars 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Mars 2010
    Messages : 67
    Par défaut
    et en utilisant mysql_fetch_array() plutôt ?

    (le reste sera identique)

Discussions similaires

  1. [JNA] Appeler une fonction modifiant le contenu d'un tableau
    Par Caduchon dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 01/08/2012, 15h11
  2. [PHP 5.3] Fonction d'extraction du contenu d'un tableau associatif
    Par redoran dans le forum Langage
    Réponses: 4
    Dernier message: 28/06/2012, 15h41
  3. Modifier le contenu d'un tableau
    Par oneagaindoguys dans le forum Documents
    Réponses: 1
    Dernier message: 06/04/2010, 14h06
  4. Modifier le contenu d'une cellule d'un tableau dynamiquement
    Par SPACHFR dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/08/2009, 16h45
  5. Réponses: 3
    Dernier message: 12/06/2006, 12h04

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