Retenir statut checkbox cohées ou non !!

WRInaute discret
Bonjour,:D

J'ai parcouru le forum pour trouver des réponses à ma question mais sans succès. Je fais donc appel à vous.

J'ai une page sur laquelle j'ai des checkbox et une autre qui me sert à enregistrer le statut coché ou décoché de ces checkbox dans la base de données.

Je n'ai aucune erreur sql. Par contre, quand je coche une checkbox, c'est comme si je n'avais rien coché.

Voici le code de mes 2 pages:
-------------------------------------

page qui affiche les chekbox
-----------------------------------

Code:
connexion_DB('abscence');
$aff = mysql_query("SELECT ID_Image,Image_Name, Statut_Image_Report_01 FROM images")or die(mysql_error());

echo '<form method="post" action=update_reportage.php>';
echo '<table border=1>';  //DEBUT TABLEAU----------------------------------------------------------------------

while($row = mysql_fetch_array($aff))
{

$ID_Image=$row['ID_Image'];
$Image_Name=$row['Image_Name'];
$Statut_Image_Report_01=$row['Statut_Image_Report_01'];

echo  "<tr><td>$ID_Image</td><td><input type='checkbox' name='chk_.$ID_Image' id='chk_.$ID_Image' value='1'/></td></tr>";




}


echo "</table><br/><br/>";
echo  '<input type="submit" name="envoie" VALUE="Enregistrer">';
echo  '</form>';

mysql_close();

page qui UPDATE le statut des checkbox dans la BDD
-----------------------------------
Code:
<?php
include_once '../fonctions.php';

connexion_DB('abscence');

$aff = mysql_query("SELECT ID_Image,Image_Name, Statut_Image_Report_01 FROM images")or die(mysql_error());

while($row = mysql_fetch_array($aff)) //BOUCLE---------------------
{
$ID_Image=$row['ID_Image'];
$Image_Name=$row['Image_Name'];
$Statut_Image_Report_01=$row['Statut_Image_Report_01'];


 $value = 'pascoché';
    if (isset($_POST['chk_'.$ID_Image]) && ($_POST['chk_'.$ID_Image] =='1')) 
     {
           $value = 'coché';
     }
     
     $sql = "UPDATE images SET Statut_Image_Report_01='".$value."' WHERE ID_Image=".$row['ID_Image']; 
	 
	 
     mysql_query($sql); 
	 echo "<br/>".$sql;

}




?>


D'avance merci pour votre aide. :D
 
WRInaute passionné
La checkbox de mémoire ne renvoi aucune valeur.
Elle est simplement renseigné si elle est coché, sinon elle ne renvoie rien.

Donc je ferait simplement :
Code:
if (isset($_POST['chk_'.$ID_Image])) {...}
 
WRInaute discret
Salut,

merci de ta réponse. Je viens d'essayer mais toujours rien il me mets :

Code:
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=1
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=2
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=3
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=4
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=9
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=6
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=7
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=8
UPDATE images SET Statut_Image_Report_01='pascoché' WHERE ID_Image=10

J'ai pourtant coché des checkbox. !!

Une idée ?

John
 
WRInaute discret
Salut,

Dans la première page j'ai ceci :

Code:
echo  "<tr><td>$ID_Image</td><td><input type='checkbox' name='chk_.$ID_Image' id='chk_.$ID_Image' value='1'/></td></tr>";
 
WRInaute accro
Essai plutôt ça :

Code:
echo  "<tr><td>$ID_Image</td><td><input type='checkbox' name='chk_".$ID_Image."' id='chk_".$ID_Image."' value='1'/></td></tr>";
 
WRInaute passionné
et ça ?

Code:
 $value = 'pascoché';
    if (!empty($_POST['chk_'.$ID_Image]))
     {
           $value = 'coché';
     }
     
     $sql = "UPDATE images SET Statut_Image_Report_01='".$value."' WHERE ID_Image=".$row['ID_Image'];
   
   
     mysql_query($sql);
    echo "<br/>".$sql;

}
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut