Retenir statut checkbox cohées ou non !!

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

hx.jonathan
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 119
Inscription: Mer Mar 02, 2005 17:42

Retenir statut checkbox cohées ou non !!

Message le Lun Avr 14, 2008 13:16

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: Tout sélectionner
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: Tout sélectionner
<?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


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: Lun Juil 28, 2003 15:58

Message le Lun Avr 14, 2008 13:21

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: Tout sélectionner
if (isset($_POST['chk_'.$ID_Image])) {...}

hx.jonathan
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 119
Inscription: Mer Mar 02, 2005 17:42

Message le Lun Avr 14, 2008 13:28

Salut,

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

Code: Tout sélectionner
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


NxtGen
WRInaute passionné
WRInaute passionné
 
Messages: 731
Inscription: Mar Oct 24, 2006 4:35

Message le Lun Avr 14, 2008 13:33

a quel endroit tu définis $ID ?
elle n'est ni renseignée, ni incrémentée...

hx.jonathan
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 119
Inscription: Mer Mar 02, 2005 17:42

Message le Lun Avr 14, 2008 13:37

Salut,

Dans la première page j'ai ceci :

Code: Tout sélectionner
echo  "<tr><td>$ID_Image</td><td><input type='checkbox' name='chk_.$ID_Image' id='chk_.$ID_Image' value='1'/></td></tr>";


BadProcESs
WRInaute accro
WRInaute accro
 
Messages: 2657
Inscription: Lun Juil 28, 2003 15:58

Message le Lun Avr 14, 2008 13:55

Passe temporairement ton formulaiure en get pour voir ce qu'il passe comme paramètres.

hx.jonathan
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 119
Inscription: Mer Mar 02, 2005 17:42

Message le Lun Avr 14, 2008 14:01

Je vois pas ce que tu veux dire ? en GET. Le récupérer en GET.

Je t'avoue que je n'utilise jamais cette fonction.


UsagiYojimbo
WRInaute accro
WRInaute accro
 
Messages: 5233
Inscription: Mer Nov 23, 2005 10:38

Message le Lun Avr 14, 2008 14:26

Essai plutôt ça :

Code: Tout sélectionner
echo  "<tr><td>$ID_Image</td><td><input type='checkbox' name='chk_".$ID_Image."' id='chk_".$ID_Image."' value='1'/></td></tr>";


ptit_mousse
WRInaute discret
WRInaute discret
 
Messages: 66
Inscription: Mar Déc 19, 2006 13:24

Message le Lun Avr 14, 2008 15:04

ou encore au niveau de ta page update un petit :
Code: Tout sélectionner
var_dump($_POST);


medium69
WRInaute accro
WRInaute accro
 
Messages: 2188
Inscription: Sam Mai 07, 2005 9:36

Message le Lun Avr 14, 2008 15:12

et ça ?

Code: Tout sélectionner
$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;

}


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités