Bonjour;

je vous contactes, car je souhaiterais en cochant plusieurs checkbox, modifier la valeur dans la base de donnée,

voilà le code :

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
72
73
74
75
76
77
78
79
80
81
82
<?php
 include("mysqlcon.php");
 
echo '<table border="1"> <form action="?action=choixlogo&choix=update" method="POST">'; 
// On récupère le résultat de la requête SQL de sélection des données sur les navigateurs
$resultat = mysql_query("Select * from M_AUTO_MARQUE_MRQ"); 
// Nombre maximum de lignes souhaitées
$max_colonnes = 4; 
// On compte le nombre de résultat
$nb_resultat = mysql_num_rows($resultat); 
// On veut un maximum de 2 colonnes donc on calcul le nombre de colonnes en arrondissant à l'entier supérieur
$nb_lignes = ceil($nb_resultat / $max_colonnes); 
// On cré un tableau par ligne
for($i = 1; $i <= $nb_lignes; $i++)
{
     ${'lign'.$i} = array();
}
 
// On initialise la ligne en cours à 1, première ligne
$ligne_en_cours = 1; 
// On initialise le nombre de colonne à 1 qui va nous servir de compteur de colonne
$nb_colonnes = 1; 
// On parcourt le tableau $resultat de la requête et on stock chacune des lignes dans le nouveau tableau $tab
while($tab = mysql_fetch_array($resultat))
{  
  // On insère les résultats dans les tableaux créés ci-dessus
  array_push(${'lign'.$ligne_en_cours}, $tab['nom_marque']);  
  // On vérifie si l'on est pas au maximum de ligne souhaité afin de revenir à la première ligne
  if($ligne_en_cours == $nb_lignes)
  {
     $ligne_en_cours = 1;     
     // On passe à la colonne suivante
     $nb_colonnes++;     
  // On passe à la ligne suivante s'il reste suffisemment de colonnes pour arriver au $max_colonnes
  // autrement, on laisse l'insertion dans la ligne 1
  } elseif($ligne_en_cours != $nb_lignes && ($nb_resultat - $nb_colonnes) >= $max_colonnes) {
       $ligne_en_cours++;
  }
}
 
// On commence l'affichage ligne par ligne
for($i = 1; $i <= $nb_lignes; $i++)
{
  if($i != 1)
  {
       echo'</tr>';
  }
  echo'<tr>';  
  // On parcourt le tableau de la ligne pour son affichage
  foreach(${'lign'.$i} as $lign)
  {
 
$sql_des = mysql_query("Select * from M_AUTO_MARQUE_MRQ where nom_marque='$lign'");
$sql_d = mysql_fetch_array($sql_des);
 
$idnumero = $sql_d["id_marque"];
 $img_marque = $sql_d["logo_marque"];
 $nom_marque = $sql_d["nom_marque"];
?>
<td><input type="hidden" name="idlogo" value="<? echo $idnumero ; ?>">
<input type="checkbox" name="checkbox[]" id="<? echo $idnumero; ?>" value="<? echo $idnumero; ?>"> <?php echo $nom_marque; ?> <a href="?action=modif_logo&id_logo=<? echo $idnumero; ?>"><img src="modif.png"></a><br><img src="../marque/<?php echo $img_marque; ?>"  ></a><br></td>
<?php
  }
}
echo'</table><input type="submit" name="submit" value="Envoyer"></form>'; 
 
 
 
 
$choix = $_GET["choix"];
if($choix == "update") {
 $checkbox = $_POST["checkbox"];
    $numero_release = $_POST["idlogo"];
 
   for ($i = 0; $i < count($_POST["checkbox"]); $i++)
      echo $_POST["nfo"][$i]." - ";
 
      mysql_query("UPDATE M_AUTO_MARQUE_MRQ SET validation='1' WHERE id_marque='" . $numero_release. "'");
echo("reussi");
}
 
?>
Aprés plusieurs jours sur le code, je ne vois pas ou est l'erreur, la modification ne se fait pas quand je coche plusieurs cases

Cordialement