Affichage d'un tableau à partir d'un fichier texte

[Résolu]
Signaler
Messages postés
4
Date d'inscription
samedi 16 avril 2005
Statut
Membre
Dernière intervention
11 mai 2005
-
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
-
Bonjour,
Soit le fichier rubrique.txt du type: données1|données2|données3|données4|
et le script suivant en gerant l'affichage :
<?


function tablo()
{
$fl=file("./data/rubriques.txt");
foreach($fl as $ln)
{
$mbr=explode("|",$ln);
$lst .="
<tr>
<td>$mbr[1]</td>
<td>&nbsp;$mbr[2]</td>
<td>$mbr[3]</td>
<td>$mbr[4]</td>
<td></td>
<td></td>
</tr>";
}
return $lst;
}


$tbl=tablo();
echo "$tbl
";
?>


J'obtiens bien l'affichage du tableau et de ses differentes lignes resultant de la fonction tablo(), mais j'ai egalement l'erreur suivante :
Notice: Undefined variable: lst in c:\program files\easyphp1-8\www\test1\rubriques.php3 on line 9


Erreur que je n'avais pas sous easyphp 1-6.
Quelqu'un saurait-il me dire pourquoi ?
Merci d'avance.

4 réponses

Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Euh, malalam, si je serais toi, je relirai cette fonction ( $lst .= )

Voila, et en plus aux normes XHtml ...

<?



function tablo() {

$lst = ''; // ICI

$fl = file('./data/rubriques.txt');

foreach($fl as $ln) {

$mbr = explode('|', $ln);

$lst .='

<tr>

<td>', $mbr[1], '</td>

<td>&nbsp;' $mbr[2], '</td>

<td>', $mbr[3], '</td>

<td>', $mbr[4], '</td>

<td>['$mbr[1], '">]</td>

<td>, $mbr[1], '" /></td>

</tr>';

}

return $lst;

}





echo ''tablo(), '
';

?>

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
24
Hello,

ben le message est clair...
Bref, a la fin de ta fonction, tu fais un return $lst;
Or, cette variable n'existe pas, tu ne la definis nulle part.
Php ne peut pas te retourner une variable qui n'existe pas...aucun language ne le peut, d'ailleurs.
Messages postés
1250
Date d'inscription
mardi 15 juillet 2003
Statut
Membre
Dernière intervention
30 septembre 2007
1
salut,

non ce n'est pas exactement ça

en fait l'erreur se situe à cette ligne :

$lst .="
<tr>

........


c'est le point qui ne va pas, le point signifie
que tu continue la chaine de caractere hors cette chaine n'est pas
declarée avant donc il ne la connait pas

avant ta boucle, il faut mettre un petit : $lst='';



et voila !


Je te donne une idée, tu me donnes une idée, nous avons chacun deux idées.
Mon site Internet
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lol, tucsoufle, tu m'as encore devancé !!

Sinon j'ai fait une grosse erreur ... <?php et non <?

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !