Probleme avec liste box en php

tsii Messages postés 96 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
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
 
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   Statut Membre Dernière intervention   1
 
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
 
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   Statut Membre Dernière intervention   1
 
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
 
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   Statut Membre Dernière intervention   1
 
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
 
Met .txt au lieu de .TXT

--------------------------------------------------------
L'informatique est un long fleuve pas tranquille !!!
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   1
 
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
 
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   Statut Membre Dernière intervention   1
 
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
 
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   Statut Membre Dernière intervention   1
 
mais pk j'arrive pas a rentrer dans la boucle foreach ???
0
Utilisateur anonyme
 
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   Statut Membre Dernière intervention   1
 
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
 
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   Statut Membre Dernière intervention   1
 
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
 
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
 
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