par
Boro64 » 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:
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
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:
[php]
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.' ';
}
[/php]
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