[SQL] Récupérer des variables d'une liste déroulante
Bonjour à tous et à toutes,
j'ai un petit souci:
voila j'ajoute des renseignements à partir d'un formulaire comportante des listes déroulantes. Ces variables vont bien s'enregistrer dans la BDD, mais au moment de les modifier ma variable réelle devient fausse et prend la 1ere par défaut
Je m'explique:
Quand j'enregistre on va mettre par exemple continent: Europe (de la liste déroulante)
Mais si on veut modifier ce n'est plus europe qui s'aafiche mais afrique, c'est a dire le 1er de ma liste
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| if(isset($_POST['modif_chantier']))
{
$modif_chantier = intval($_POST['modif_chantier']);
//SI LES CHAMPS N'EXISTENT PAS
if(!isset($_POST['modif_id_client']) || !isset($_POST['modif_nom_chantier'])
|| !isset($_POST['modif_mission']) || !isset($_POST['modif_ouvrage'])
|| !isset($_POST['modif_realisation']) || !isset($_POST['modif_explication'])
|| !isset($_POST['modif_continent']) || !isset($_POST['modif_pays'])
|| !isset($_POST['modif_ville']))
{
$selectMO="";
$selectAMO="";
$selectCE="";
$selectEE="";
$selectEX="";
// BOUCLE PERMETTANT DE TESTER LES DIFFERENTS CAS
switch($modif_mission)
{
case 'MO': $selectMO='SELECTED'; break;
case 'AMO': $selectAMO='SELECTED'; break;
case 'CE': $selectCE='SELECTED'; break;
case 'EE': $selectEE='SELECTED'; break;
case 'EX': $selectEX='SELECTED'; break;
}
$reponse = mysql_query("SELECT chantier.id_client, nom_chantier, mission, ouvrage,
realisation, explication, continent, pays, ville
FROM chantier
WHERE num_chantier='$modif_chantier'");
$donnees=mysql_fetch_array($reponse);
?>
<form action="modif_chantier.php" method="post">
<table border="1" class="table">
<!-- ON CACHE LA VARIABLE -->
<input type="hidden" name="modif_chantier" value="<?php echo $modif_chantier;?>"/>
<tr>
<td>Numéro du chantier : </td>
<td><?php echo $modif_chantier;?></td>
</tr>
<tr>
<td>Numéro du client : </td>
<td><input type="text" name="modif_id_client" class="livre_dor" value="<?php echo $donnees['id_client'];?>"/></td>
</tr>
<tr>
<td>Nom du chantier : </td>
<td>
<textarea name="modif_nom_chantier" class="livre_dor" cols="27" rows="5"><?php echo $donnees['nom_chantier'];?></textarea>
</td>
</tr>
<tr><td>Mission : </td>
<td><select name="modif_mission" class="livre_dor">
<option <?php echo $selectMO; ?> value="MO"> Maitrise d'Oeuvre </option>
<option <?php echo $selectAMO; ?> value="AMO"> Assistance à la Maitrise d'ouvrage </option>
<option <?php echo $selectCE; ?> value="CE">Contrôle d'Etudes </option>
<option <?php echo $selectEE; ?> value="EE"> Etudes d'Exécution </option>
<option <?php echo $selectEX; ?> value="EX"> Expertise & Conception</option>
</select></td></tr> |
CODE COUPE PUIS
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| if(isset($_POST['envoyer']))
{
// DEUXIÈME REQUETE POUR LES MODIFICATIONS
// SI LES VARIABLES EXISTENT
if(isset($_POST['modif_id_client']) && isset($_POST['modif_nom_chantier'])
&& isset($_POST['modif_mission']) && isset($_POST['modif_ouvrage'])
&& isset($_POST['modif_realisation']) && isset($_POST['modif_explication'])
&& isset($_POST['modif_continent']) && isset($_POST['modif_pays'])
&& isset($_POST['modif_ville']))
{
$modif_id_client=intval($_POST['modif_id_client']);
$modif_nom_chantier=mysql_real_escape_string($_POST['modif_nom_chantier']);
$modif_mission=mysql_real_escape_string($_POST['modif_mission']);
$modif_ouvrage=mysql_real_escape_string($_POST['modif_ouvrage']);
$modif_realisation=mysql_real_escape_string($_POST['modif_realisation']);
$modif_explication=mysql_real_escape_string($_POST['modif_explication']);
$modif_continent=mysql_real_escape_string($_POST['modif_continent']);
$modif_pays=mysql_real_escape_string($_POST['modif_pays']);
$modif_ville=mysql_real_escape_string($_POST['modif_ville']);
$modif_realisation = nl2br($modif_realisation);
$modif_explication = nl2br($modif_explication);
mysql_query("UPDATE chantier SET
chantier.id_client='$modif_id_client',
nom_chantier='$modif_nom_chantier',
mission='$modif_mission',
ouvrage='$modif_ouvrage',
realisation='$modif_realisation',
explication='$modif_explication',
continent='$modif_continent',
pays='$modif_pays',
ville='$modif_ville'
WHERE num_chantier='$modif_chantier'")
or die(mysql_error());
}
echo "<p align='center'> Les modifications ont été effectuées ! </p>";
include "que_voulez_vous_faire.php"; |
et l'erreur est :
Citation:
Notice: Undefined index: modif_mission
qui est pourtant déclaré...
Quelqu'un peu m'aider STP :cry:
Merci a vous
Mélanie