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 : Tout sélectionner
[php]
<?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;
}
?>
[/php]