Bonjour,
J'ai un formulaire avec plusieur champs , dont un ("choix") qui est une liste déroulante dynamique (TABLE "cat").
lorsque que je valide ce formulaire avec son script de traitement, il m'insère dans ma TABLE "doss" toutes les données du formulaire sauf celle du champ "choix". Il est censé récupérer l'ID d'une des entrées de la table CAT pour l'insérer dans une entré de la table "doss".

Voici en premier mon formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
59
60
61
62
63
64
65
66
67
68
69
70
71
 
<?php include('header.php'); ?>
<html>
  <head>
    <title>ins&eacute;rer un dossier</title>
  </head>
<body>
<form name="insertion" action="insert_doss.php" enctype="multipart/form-data" method="POST">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td>&nbsp;</td>
      <td align="left">Ins&eacute;rer un projet</td>
    </tr>
    <tr align="left">
    <td>cat&eacute;gories</td>
    <td>
    <?php
/* connexion à la base de donnée
 Nous supposerons que nous sommes en local
 et nous travaillons avec la base de données : mysql */
 if (!$bd=mysql_connect("localhost", "root", "root")) {
print ("<h1>Connexion au serveur impossible !</h1>\n");
 
 } else {
mysql_select_db("metalobil",$bd);
 
 }
 
/* affichage du langage choisi */
 if ($choix) {
$recup_langage=@mysql_query("SELECT * FROM cat WHERE id='$choix'");
$recup_langage_array=@mysql_fetch_array($recup_langage);
echo "Vous avez choisi la catégorie : ".$recup_langage_array["nom"];
 
 }
 
/* début du script */
 $query=@mysql_query("SELECT * FROM cat");
 if ($query) {
echo "<select name=\"choix\">\n";
while ($array=@mysql_fetch_array($query)) {
if ($choix == $array["id"]) {
echo "<option value=\"".$array["id"]."\" selected>".$array["nom"]."</option>\n";
} else {
echo "<option value=\"".$array["id"]."\">".$array["nom"]."</option>\n";
}
}
echo "</select>\n";
 }
 ?>
    <tr align="center">
      <td>titre</td>
      <td align="left"><input type="text" name="titre"></td>
    </tr>
    <tr align="center">
      <td>texte</td>
      <td><textarea name="texte" cols="40" rows="15"></textarea></td>
    </tr>
	<tr align="center">
	<td colspan=2 align=left>
	<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
			Icone <input type="file" name="monicone" />
            </td>
            </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="insÈrer"></td>
    </tr>
  </table>
</form>
</body>
</html>
et voici le script de traitement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
59
60
61
 
<?php
require_once("config.php") ;
include('header.php');
  //insertion.php
 
  //connection au serveur
  $cnx = mysql_connect(SERVEUR, USER, PASS, DB) ;
 
  //sÈlection de la base de donnÈes:
  $db  = mysql_select_db(DB) ;
 
  //rÈcupÈration des valeurs des champs:
  //select:
  $choix = $_POST["choix"] ;
  //titre:
  $titre = $_POST["titre"] ;
  //texte:
  $texte = $_POST["texte"] ;
 
  //upload
// dÈfinition de l'espace destinÈ ‡ recevoir les fichiers
    $repository="images/";
 
    // si un fichier monicone a bien ÈtÈ transfÈrÈ
       if (is_uploaded_file($_FILES["monicone"]["tmp_name"])) {
        // recupÈration de l'extension du fichier
        // autrement dit tout ce qu'il y a aprËs le dernier point (inclus)
        $monIcone = $_FILES["monicone"]["name"];
        $extension = substr($monIcone, strrpos($monIcone,"."));
        // ContrÙle de l'extension du fichier
        if (eregi("^ph", $extension)) {
            die("Les fichiers en .ph* ne sont pas autorisÈs.");
        }
        $cheminIcone = $titre . "_icone" . $extension;
        rename($_FILES["monicone"]["tmp_name"], $repository.$cheminIcone);
    }
 
 
  //crÈation de la requÍte SQL:
  $sql = "INSERT  INTO doss (titre, texte, icone, id_cat)
            VALUES ( '$titre', '$texte', '" . addslashes($cheminIcone) . "', '$choix') " ;
 
  //affichage de la requÍte SQL pour mieux comprendre ;) :
  echo( "<center>".$sql."<br>" ) ;
  if(isset($erreur)){
  echo '<p>', $erreur ,'</p>';
}
 
 
  //exÈcution de la requÍte SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
  //affichage des rÈsultats, pour savoir si l'insertion a marchÈe:
  if($requete)
    echo("<center>L'insertion a ÈtÈ correctement effectuÈe</center>") ;
  else
    echo("<center>L'insertion ‡ ÈchouÈe</center>") ;
 
 
?>
j'ai beau le retourner dans tous les sens, je ne vois pas le problème.

un peu d'aide svp...