Pourquoi ... ???

Signaler
Messages postés
163
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
1 novembre 2006
-
Messages postés
163
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
1 novembre 2006
-
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

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
hello,



parce que ta methode GetLblGroup renvoie un tableau (fetch_array).
Messages postés
163
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
1 novembre 2006

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 ...
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
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.
Messages postés
163
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
1 novembre 2006

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 ...