Probleme avec liste box en php

Fermé
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 - 18 août 2004 à 14:08
 Utilisateur anonyme - 18 août 2004 à 16:24
Bonjour,
j'aimerais savoir comment faire pour qu'une liste box de mon formulaire garde le meme item selectionné après avoir clicé sur le bouton submit ?

merci
A voir également:

19 réponses

Utilisateur anonyme
18 août 2004 à 14:12
Ben normalement quand tu envoie ton formulaire, la valeur de la list box est envoyée aussi.
Il suffit quand tu reecrit le code html de la listbox de mettre un selected quand tu rencontre la même valeur.

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 14:36
merci mais je comprend pas pk ca marche pas :

if (isset($_POST['chx']))
{
// listebox 1
echo '<table>';
echo '<tr>';
echo '<td><b>Equipement 1</b></td>';
$equipement = file ('liste_equipement.TXT');
echo '<td><select name="equipement">';
foreach ($equipement as $i)
{
if($i==$_POST['equipement'])
echo '<option selected>'.$i.'</option>';
else
echo '<option>'.$i.'</option>';
}
echo '</select></td></tr>';
echo '</table>';

...
...
...
0
Utilisateur anonyme
18 août 2004 à 14:42
foreach ($equipement as $i) 
{ 
if($i==$_POST['equipement']) 
echo '<option value="'.$i.'" selected>'.$i.'</option>'; 
else 
echo '<option value="'.$i.'">'.$i.'</option>'; 
} 



--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 15:06
ca marche pas , il ne rentre meme pas dans la boucle :

echo '<table>';
echo '<tr>';
echo '<td><b>Equipement 1</b></td>';
$equipement = file ('liste_equipement.TXT');
echo '<td><select name="equipement">';
foreach ($equipement as $i)
{

if($i==$_POST['equipement'])
{
echo 'c bon ';
echo '<option value="'.$i.'" selected>'.$i.'</option>';

}
else
echo '<option value="'.$i.'">'.$i.'</option>';
}

pk svp ???
0

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

Posez votre question
Utilisateur anonyme
18 août 2004 à 15:14
if(isset($_POST['equipement']) ) && $i==$_POST['equipement']) 
{ 
echo 'c bon '; 
echo '<option value="'.$i.'" selected>'.$i.'</option>'; 

} 
else 
echo '<option value="'.$i.'">'.$i.'</option>'; 
} 


--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 15:22
le probleme c que ma variable equipement ne contient rien donc on ne rentra pas dans la boucle pk ca marche pas ?

$equipement = file ('liste_equipement.TXT');
0
Utilisateur anonyme
18 août 2004 à 15:28
Met .txt au lieu de .TXT

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
Utilisateur anonyme
18 août 2004 à 15:35
Ca serait bien aussi que tu mette les erreurs que tu as.

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 15:35
ouais
mais le probleme je pense que c'est lors du premier chargement de la page je fait $equipement = file ('liste_equipement.TXT'); et ca marche bien.
et quand je le re-fait il marche pas , il faut peut etre fermer le fichier ? avant de faire une re-lecture ?
0
Utilisateur anonyme
18 août 2004 à 15:43
Nan file() ouvre et ferme le fichier.
T'es sur que ton form est en post ?

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 15:50
Oui regarde comment j'ai fait ?
kan j'affiche le contenu de la variable equipement il m'affiche Array !!!!


<body>
<form Action="index.php" Method="POST">

<?php

// initialisation au premier chargement de la page
if (!(isset($_POST['chx'])))
{
echo '<table>';
echo '<tr>';
echo '<td><b>Equipement 1</b></td>';
$equipement = file ('liste_equipement.txt');
echo '<td><select name="equipement">';
foreach ($equipement as $i)
echo '<option>'.$i.'</option>';
echo '</select></td></tr>';
echo '</table>';

echo '<table>';
echo '<tr>';
echo '<td><input type="radio" name="chx" value="day" onclick="this.form.submit()" />Day</td>';
echo '<td><input type="radio" name="chx" value="week" onclick="this.form.submit()" />Week </td>';
echo '<td><input type="radio" name="chx" value="month" onclick="this.form.submit()" />Month </td>';
echo '<td><input type="radio" name="chx" value="year" onclick="this.form.submit()" />Year </td>';
echo '</tr>';
echo '</table>';
}

if (!(isset($_POST['chx2'])))
{

echo '<table>';
echo '<tr>';
echo '<td><b>Equipement 2</b></td>';
$equipement = file ('liste_equipement.txt');
echo '<td><select name="equipement2">';
foreach ($equipement as $i)
echo '<option>'.$i.'</option>';
echo '</select></td></tr>';



echo '<table>';
echo '<tr>';
echo '<td><input type="radio" name="chx2" value="day" onclick="this.form.submit()" />Day</td>';
echo '<td><input type="radio" name="chx2" value="week" onclick="this.form.submit()" />Week </td>';
echo '<td><input type="radio" name="chx2" value="month" onclick="this.form.submit()" />Month </td>';
echo '<td><input type="radio" name="chx2" value="year" onclick="this.form.submit()" />Year </td>';
echo '</tr>';
echo '</table>';
}

//clic sur un bouton radio de l'equipement 1
if (isset($_POST['chx']))
{
// listebox 1
echo '<table>';
echo '<tr>';
echo '<td><b>Equipement 1</b></td>';
$equipement = file ('liste_equipement.txt');
echo '<td><select name="equipement">';
foreach ($equipement as $i)
{
echo 'c bon ';

if($i==$_POST['equipement'])
{
echo 'c bon ';
echo '<option value="'.$i.'" selected>'.$i.'</option>';

}
else
echo '<option value="'.$i.'">'.$i.'</option>';
}
echo '</select></td></tr>';
echo '</table>';

if($_POST['chx']=="day")
0
Utilisateur anonyme
18 août 2004 à 15:52
kan j'affiche le contenu de la variable equipement il m'affiche Array !!!! << Normal c'est un tableau

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 15:53
mais pk j'arrive pas a rentrer dans la boucle foreach ???
0
Utilisateur anonyme
18 août 2004 à 15:55
et les { et } ils sont passés ou ?
Ils sont utiles pour dirent quelles instruction appartiennent a la boucle.

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 16:00
voila comment j'ai codé exactement :

$equipement = file ('liste_equipement.txt');
echo '<td><select name="equipement">';

foreach ($equipement as $i)
{
echo 'c bon ';
if($i==$_POST['equipement'])
{
echo 'c bon ';
echo '<option value="'.$i.'" selected>'.$i.'</option>';

}
else
echo '<option value="'.$i.'">'.$i.'</option>';
}
0
Utilisateur anonyme
18 août 2004 à 16:05
T'es sur que ca rentre pas dans la boucle ? ca voudrait dire alors que le fichier est vide.

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
tsii Messages postés 96 Date d'inscription mardi 13 novembre 2001 Statut Membre Dernière intervention 20 février 2008 1
18 août 2004 à 16:09
Non le fichier n'est pas vide , il y a la liste des equipements qui s'affiche dans la liste en plus , normalement il rentre dans la boucle mais kan je fait des test avec echo 'ca marche '; il affiche rien donc il ne rentre pas dans la boucle ?
0
Utilisateur anonyme
18 août 2004 à 16:12
Ah je crois que je viens de comprendre .................
Tu regarde pas la source HTML je parie pour dire que ca n'affiche rien.

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
Utilisateur anonyme
18 août 2004 à 16:24
Bon aller moi j'ai fini ma journée de boulot, tu vas devoir finir sans moi.

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0