Pourquoi ... ???

nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006 - 26 juil. 2005 à 10:40
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006 - 26 juil. 2005 à 14:11
j'aimerai juste savoir pourquoi LblGroupe vaut "array"

voici mon code:

function IsRespGroupe ()
{
$Query = "SELECT *
FROM groupe
WHERE numero_groupe = " . $this->m_numero_groupe . "
AND numero_resp = " . $this->m_numero_util;


$this->m_pt->query ($Query);
return ($this->m_pt->fetch_array () ? true : false); /* S'il y a un tuple cela veut dire que l'utilisateur est le responsable du groupe et s'il y aucun tuple cela veut dire que le responsable du groupe n'est pas l'utilisateur */
} // IsRespGroupe ()

/* cette partie fait partie de la classe utilisateur
RECUPERATION DU LIBELLE DU GROUPE */

function GetLblGroupe ($idUtil)
{

$QueryGroupe = "SELECT libelle
FROM groupe
WHERE numero_groupe = (SELECT numero_groupe
FROM utilisateur
WHERE numero_util = ". $idUtil .")";

$this->m_pt->query ($QueryGroupe);
return ($this->m_pt->fetch_array());
} // GetLblGroupe ($idUtil)

/* RECUPERATION DU NOM ET PRENOM DE L'UTILISATEUR POUR LA LISTBOX DE SELECTION */


// Règles de gestion :
// - Si l'utilisateur est l'admin alors on choisit tous les utilisateurs
// - Si l'utilisateur est un responsable alors on choisit tous
// les utilisateurs de son groupe
// - Sinon on ne selectionne que l'utilisateur courrant

function RecupNomPnom ($boolResp)
{
if ($boolResp==true)
{
if ($this->m_numero_util == 1)
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE actif ='t'
ORDER BY UPPER (nom), UPPER (prenom)";

}
else
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE numero_groupe = " . $this->m_numero_groupe."
AND actif ='t'
ORDER BY UPPER (nom), UPPER (prenom)";

}
}
else
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE numero_util = " . $this->m_numero_util."
AND actif ='t'
ORDER BY UPPER (nom), UPPER (prenom)";
}

$TabUtil = array ();
for ($this->m_pt->query ($QueryGroupe);
$Util = $this->m_pt->fetch_array ();
array_push ($TabUtil, $Util));

return $TabUtil;

} // RecupNomPnom ($boolResp)

ensuite j'appelle les methodes de classe de cette façon :

$RespGroupe = $Util->IsRespGroupe();
$TabNom = array ();
$TabNom = $Util->RecupNomPnom($RespGroupe);
$SzTabNom = sizeof ($TabNom);
$Util = new CUtil($HTTP_SESSION_VARS['IdUtil']);

<option value="#" selected>Sélectionnez un utilisateur</option>
<? for ($i = 0; $i < $SzTabNom; ++$i)
{ ?>
<option value="<?=$TabNom[$i]['numero_util']?>">
<?=$TabNom[$i]['nom']?> <?=$TabNom[$i]['prenom']?> <? $LblGroupe = $Util->GetLblGroupe($TabNom[$i]['numero_util']); echo "$LblGroupe";?>
</option>
<? } ?> //c'est cet echo qui me renvoie le type de LblGroupe "Array"?????!!!!

j'espere ne rien avoir oublié...
je sais que quelqu'un a la solution !!! je le remerci d'avance


Petit à petit on devient moins newbie ...

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2005 à 10:47
hello,



parce que ta methode GetLblGroup renvoie un tableau (fetch_array).
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
26 juil. 2005 à 11:28
mais RecupNomPnom en renvoie un aussi mais cette methode fonctionne et me renvoie bien un string (enfin un tableau de string)
Que dois je faire ?? Faire une autre methode spécifique.

j'ai essayé comme ca :
function GetLblGroupe ($idCnx, $idUtil)
{
//Permet de récupérer le libellé du groupe
$QueryGroupe = "SELECT libelle
FROM groupe
WHERE numero_groupe = (SELECT numero_groupe
FROM utilisateur
WHERE numero_util = $idUtil)";
$lblGroupe = pg_exec ($idCnx, $QueryGroupe );
return pg_result ($lblGroupe, 0, 0) ;
}//function GetLblGroupe ()

mais la il plante sur mon appel :

<?=GetLblGroupe($idCnx,$TabNom[$i]['numero_util']?>

As-tu une idée ?

Petit à petit on devient moins newbie ...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
26 juil. 2005 à 11:45
Eh bien, la aussi, il te renvoie un tableau de strings ?



Fais un print_r ($LblGroupe); au lieu de l'echo.



Je ne trouve pas pg_result () dans la doc sur php.net.

http://de.php.net/pgsql

ni pg_exec () d'ailleurs, ce serait pg_execute () selon la doc.
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
26 juil. 2005 à 14:11
J'ai ces commandes dans un bouquin de php... Sinon maintenant ça marche, j 'ai fait comme cela :

<select name="SelectUtil" size="1" onChange="submit" class="sahe" style="width:220px">
<option value="#" selected>Sélectionnez un utilisateur</option>
<? for ($i = 0; $i < $SzTabNom; ++$i)
{ ?>
<option value="<?=$TabNom[$i]['numero_util']?>">
<?=$TabNom[$i]['nom']?> <?=$TabNom[$i]['prenom']?> - <?=GetLblGroupe ($idCnx,$TabNom[$i]['numero_util'])?>
</option>
<? } ?>
</select>

// Renvoie le libellé du groupe
function GetLblGroupe ($idCnx, $idUtil)
{
//Permet de récupérer le libellé du groupe
$QueryGroupe = "SELECT libelle
FROM groupe
WHERE numero_groupe = (SELECT numero_groupe
FROM utilisateur
WHERE numero_util = $idUtil)";
$lblGroupe = pg_exec ($idCnx, $QueryGroupe );
return pg_result ($lblGroupe, 0, 0) ;
} //function GetLblGroupe ()

je posterai l'explicatif des fonctions pg_exec () et pg_result () dès que je remet la main sur ce bouquin ...

Merci a toi !


Petit à petit on devient moins newbie ...
0