seule la dernière ligne d'un tableau s'affiche
Posté : 07 avr. 2011, 22:19
Bonjour
Je cherche à écrire toutes les lignes (clé + valeur) d'un tableau dans un fichier texte pour affichage.
Or, ne s'écrit ( et donc ne s'affiche) que la dernière ligne du tableau...
voici mon code:
Pourriez vous me dire, où est mon erreur ou oubli?
D'avance merci
Je cherche à écrire toutes les lignes (clé + valeur) d'un tableau dans un fichier texte pour affichage.
Or, ne s'écrit ( et donc ne s'affiche) que la dernière ligne du tableau...
voici mon code:
if (isset($_POST['creer'])){
$titre = $_POST['titre'];
$infobdp = $_POST['infobdp'];
// on affiche le nombre de champs du formulaire
echo 'Vous venez de créer une carte avec => '.$_POST['nb_champs'].' lignes<br /><br />';
echo 'Titre: ' .$titre.' <br /><br />';
// on affiche la valeur des champs du formulaire
for ($i=1; $i<=$_POST['nb_champs']; $i++){
$champ_plat = 'plat_'.$i;
$champ_prix = 'prix_'.$i;
$value = $_POST[$champ_plat];
$value2 = $_POST[$champ_prix];
echo 'Plat '.$i.' : '.$value.' Prix '.$i.' : '.$value2.'<br /><br /><br />';
$insert_titre = '<p class="carte">'.$titre.' :</p>';
$ligne = array($value => $value2);
while (list($plat, $prix) = each($ligne))
{
$newligne = '<p class="plat"><span>'.$plat.'</span> '.$prix.'</p>';
}
$insert_bdp = '<p class="plat"><span class="note">'.$infobdp.'</span></p>';
$newmenu = ($insert_titre . $newligne . $insert_bdp);
$texte = chmod('../codes/menu.txt', 0777);
$file = fopen('../codes/menu.txt', 'w+');
fseek($file, 0);
fputs($file, $newmenu);
fclose($file);
}
echo 'Information supplémentaire: '.$infobdp.' ';
}
Dans cet exemple j'ai utilisé une boucle while, mais j'ai aussi testé avec foreach avec toujours le même résultat.Pourriez vous me dire, où est mon erreur ou oubli?
D'avance merci