Remplissage d'une listBox

nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006 - 12 juil. 2005 à 17:15
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006 - 13 juil. 2005 à 12:13
voila, j'ai une fonction qui est dans une classe qui me renvoie :
return ($this->m_pt->fetch_array());

ensuite j'aimerai que chacun des resultats soient une "option value" d'une listBox
le tableau de retour est stocké dans : $TabNom

il s'agit d'une base postgres.

Je ne sais pas comment dire while "il y a d lignes" ou for(i , i<nbrdeligne, i++) donc sans ca je suis mal ... ;-p
Merci pour votre aide

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!

10 réponses

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
12 juil. 2005 à 17:28
salut,



<?php



echo '<select name="machin">';



while($r=$classe->fetch_array())

{

echo '<option value="',$r['champ'],'">',$r['champ'],'</option>';

}


echo '</select>';

?>



a +
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
12 juil. 2005 à 17:35
je recupere $TabNom['nom'], $TabNom['prenom'], $TabNom['numero_utilisateur']

je penser faire une truc du genre

<? for($i ; $i < count($TabNom) ;$i++)
{
echo '<option value"',$TabNom['nom'],'">',$TabNom['nom'],'</option>';
}
?>

mais cela ne fonctionne pas il me renvoie plusieurs fois la première ligne de ma table ...

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
12 juil. 2005 à 17:42
d'où ma solution plus haut...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
12 juil. 2005 à 17:45
le temps que je poste il y a eu la réponse merci bien . Une petite question : a quoi correspond "$classe" ? Je dois mettre juste le nom version :
while($TabNom=$Util->fetch_array())
ou la méthode
while($TabNom=$Util->RecupNomPnom()->fetch_array())

je ne vois pas ...

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 9
12 juil. 2005 à 18:10
la deuxième solution ne fonctionnera pas donc prends la première

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
13 juil. 2005 à 09:35
bon au final j ai :
<select name="Utilisateur">

<? $TabNom = array ();
while($TabNom=$Util->fetch_array())
{
echo '<option value="',$TabNom['nom'],'">',$TabNom['nom'],'</option>';
}
?>
</select>
et il ne rempli rien meme pas la premiere ligne...
Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
13 juil. 2005 à 09:55
Hello,



elle ressemble a quoi, ta classe... ?
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
13 juil. 2005 à 10:13
class CUtil
{
var $m_pt;


var $m_numero_util = -1;
var $m_nom = "";
var $m_prenom = "";
var $m_login = "";
var $m_password = "";
var $m_fonction = "";
var $m_num_direct = "";
var $m_num_portable = "";
var $m_email = "";
var $m_adresse = "";
var $m_code_postal = "";
var $m_ville = "";
var $m_competence = "";
var $m_niveau = "";
var $m_admin_telepros = false;
var $m_numero_groupe = -1;
var $m_numero_droit = -1;
var $m_numero_societe = -1;
var $m_depend_de = -1;
var $m_pays = "";
var $m_photo = "";
var $m_information = "";
var $m_date_naissance = '';
var $m_lastconnection = '';
var $m_num_icq = "";
var $m_urgence = "";
var $m_login_ldap = "";
var $m_actif = false;
var $m_fax = "";
var $m_date_entree = '';
var $m_civilite = "";
var $m_titre = "";
var $m_mesg_bienvenue = "";
var $m_consignes = "";
var $m_dispo = "";
var $m_lieu_naissance = "";


function CUtil ($_numero_util -1, $_login "", $_password = "")
{
$this->m_pt = new dev_SQL; // On se connecte à la base de données
if ($_numero_util != -1)
$this->m_numero_util = $_numero_util;
else
{
$this->m_login = $_login;
$this->m_password = $_password;
}


} // CUtil ()

// RECUPERATION DU NOM ET PRENOM DE L'UTILISATEUR(je ne copie que cette partie mais il y a d autres fonctions)
function RecupNomPnom ($boolResp)
{

if ($boolResp==true)
{

if ($this->m_numero_util = 1)
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur";
}
else
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE numero_groupe = {$HTTP_SESSION_VARS['IdUtil']};";
}
}
else
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE numero_util = {$HTTP_SESSION_VARS['IdUtil']};";

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

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 // S'il y a un tuple cela veut dire que l'utilisateur est le responsable du
: false); // groupe et s'il y aucun tuple cela veut dire que le responsable du groupe
// n'est pas l'utilisateur
} // IsRespGroupe ()

Voila pour ma classe.

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
13 juil. 2005 à 10:39
Le je viens de tester :


<?
$SzTabNom = sizeof ($TabNom);
for ($i = 0; $i < $SzTabNom; ++$i)
{
echo '<option value="',$TabNom[$i]['nom'],'">',$TabNom['nom'],$TabNom['prenom'],'</option>';
}
?>

Danse ce cas il me renvoie 6 fois la premiere ligne (le premier élément de la table utilisateur)

Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
0
nagrom_om Messages postés 163 Date d'inscription lundi 20 décembre 2004 Statut Membre Dernière intervention 1 novembre 2006
13 juil. 2005 à 12:13
je crois avoir trouver le pb mais j arrive pas a le régler ... la syntax du php c'est pas pour moi !!!

Ma méthode renvoie un fetch array (forcement c la premiere ligne ...) donc la j ai changé ma methode pour avoir un truc du genre :


// RECUPERATION DU NOM ET PRENOM DE L'UTILISATEUR
function RecupNomPnom ($boolResp)
{

if ($boolResp=='t')
{

if ($this->m_numero_util = 1)
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur";
echo "coucou";
}
else
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE numero_groupe = " . $this->m_numero_groupe;
}
}
else
{
$QueryGroupe = "SELECT nom, prenom, numero_util
FROM utilisateur
WHERE numero_util = " . $this->m_numero_util;

}

$TabUtil = array ();
for ($this->$m_pt->query ($QueryUtil);
$Util = $this->$m_pt->fetch_array ();
array_push ($TabUtil, $Util));
/*$SzTabUtil = sizeof ($TabUtil);
$this->m_pt->query ($QueryGroupe);*/
return $TabUtil;

mais je ne sais pas si c'est juste ... ou du moins la fonction ne fonctionne plus ...

Merci a celui qui pourra m'aider !!!
Je suis capable du pire comme du meilleur, mais dans le pire c'est moi le meilleur !!!
0