Bonjour,

Je souhaiterais faire un update sql multiple seulement ma requête ne fonctionne pas,voici 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
$delete = $_POST["delete"];
$ids = implode(",", $_POST["delete"]);
$contenu.='<thead><table>
    <tr>
        <th>Constructeur</th>
        <th>Modele</th>
        <th>Version</th>
        <th>Origine</th>
        <th>Clperformance</th>
        <th>Couple Origine</th>
        <th>Couple Modifié</th>
        <th>Gain</th>
        <th>Prix</th>
    </tr></thead>
    <tbody>
        <FORM action="admin.php?page=modifmultiple_catalogue" method="POST">';
   $result1 = mysql_query("select * from catalogue where id_modele IN ($ids)");
     while ( $modifier = mysql_fetch_array($result1))
          {                         
             $contenu.='<tr id="itemContainer">
                 <input type="hidden" name="id[]" value=' . $id_modele . '>
            <td><input size=20 type="text" name="Constructeur[]"   value="' . $modifier[Constructeur] . '"></td>
            <td><input size=5 type="text" name="Modele[]"  value="' . $modifier[Modele] . '"></td>
            <td><input size=5 type="text" name="Version[]"  value="' . $modifier[Version] . '"></td>
            <td><input size=5 type="text" name="Origine[]"  value="' . $modifier[Origine] . '"></td>
            <td><input size=5 type="text" name="Clperformance[]"  value="' . $modifier[Clperformance] . '"></td>
            <td><input size=5 type="text" name="Couple_Origine[]"  value="' . $modifier[Couple_Origine] . '"></td>
            <td><input size=5 type="text" name="Couple_Modifie[]"  value="' . $modifier[Couple_Modifie] . '"></td>
            <td><input size=5 type="text" name="Gain[]"  value="' . $modifier[Gain] . '"></td>
            <td><input size=5 type="text" name="Prix[]"  value="' . $modifier[Prix] . '"></td></tr>';  
        }                                           
        $contenu.='</table>';
        $contenu.='<input type="submit" class="button"  value="Valider">
        <a class="button" href="admin.php?page=catalogue_admin"> Revenir vers le formulaire </a></FORM></tbody>';  
    display($contenu);

Puis voici la partie qui traite le résultat de mon formulaire avec la requête update:
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
connexionBDD();
 
    //récupération des valeurs des champs:
 
 
    $constructeur = implode(",", $_POST["Constructeur"]);
    $modele = implode(",", $_POST["Modele"]);
    $version = implode(",", $_POST["Version"]);
    $origine = implode(",", $_POST["Origine"]);
    $clperformance = implode(",", $_POST["Clperformance"]);
    $couple_origine = implode(",", $_POST["Couple_Origine"]);
    $couple_Modifie = implode(",", $_POST["Couple_Modifie"]);
    $gain = implode(",", $_POST["Gain"]);
    $prix = implode(",", $_POST["Prix"]);
    $id_modele = implode(",", $_POST["id"]);
 
 
    $sql = "UPDATE catalogue
            SET Constructeur = '$constructeur', 
	          Modele    = '$modele',
                  Version    = '$version',
		  Origine    = '$origine',
		  Clperformance     = '$clperformance',
                  Couple_Origine      = '$couple_origine',
                  Couple_Modifie      = '$couple_Modifie',
		  Gain =    '$gain',
                  Prix = '$prix'                   
            WHERE id_modele IN ($id_modele)";
    $query = mysql_query($sql) or die(mysql_error());
 
    if ($query) {
        display('<center><h4>Les modifications ont été correctement effectuées.</h4><br />
    <a class="button" href="admin.php?page=catalogue_admin"> Revenir vers le formulaire </a> </center>');
    } else {
        echo("La modification à échouée");
    }
J'ai une erreur aux niveau de ma requête, donc un problème aux niveau de ma syntaxe, pour chaque nom de champs il ne prends pas la chaîne. J'ai pensé à utilisé une boucle pour qu'il fasse un update à chaque passage mais je pense qu'il doit y avoir une solution aux niveaux sql.
Merci de votre aide