Bonjour a tous,

Ayant deja ete sauve sur ce forum je renouvelle l'experience...

Cela fait mtnt quelques temps que je bloque sur une partie de code et j'avoue que je commence a serieusement m'embrouiller. Je m'explique...

J'ai un formulaire avec des checkbox qui lisent une information sur ma base de donnees mysql et qui doivent etre mises a jour via un bouton valider.

Pour ce qui est de la lecture, pas de probleme. En revanche, je n'arrive pas a faire la mise a jour sur la base.

Voici le code que j'utilise pour lire dans la base et afficher une de mes checkbox cochée ou non en fonction du resultat de la requete :

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
 
// la requete
$sql = 'SELECT Coher_offre_epci, Coher_gares_epci, Coher_poles_epci FROM epci WHERE (ID_epci="'.$_SESSION['ID_epci'].'")';  
 
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());   
// on va scanner tous les tuples un par un  
while ($data = mysql_fetch_array($req)) {
 
      echo '<form method="post" action="irrigcoh.php"><table class="checkbox">
              <tr class="titreform1">
                <td height="30" valign="middle">';
if($data['Coher_offre_epci'] == "-1") 
{ 
      echo '    <input type="checkbox" checked="checked" id="Coher_offre_epci" name="Coher_offre_epci" value="OUI"> offre difficilement lisible';    
} 
else 
{ 
      echo '    <input type="checkbox" id="Coher_offre_epci" name="Coher_offre_epci" value="NON"> offre difficilement lisible';   
}
Et voici le code que j'utilise pour mettre a jour la base de donnée avec un bouton valider (valide_coherence_x fait reference a un input de type image):

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
 
if ($_POST['valide_coherence_x']) {
 
if ($_POST['Coher_offre_epci']==OUI) {
 
		$offreoui = 'UPDATE epci SET Coher_offre_epci="-1" WHERE ID_epci="'.$_SESSION['ID_epci'].'"';
		// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
		mysql_query($offreoui) or die('Erreur SQL !'.$offreoui.'<br />'.mysql_error());
}
 
else{
 
		$offrenon = 'UPDATE epci SET Coher_offre_epci="0" WHERE ID_epci="'.$_SESSION['ID_epci'].'"';
		// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
		mysql_query($offrenon) or die('Erreur SQL !'.$offrenon.'<br />'.mysql_error());
}
Ce que je ne comprends pas c'est que cette logique fonctionne parfaitement lorsque j'utilise des input radio en choix oui/non. Mais dans ce cas la, il ne lis pas ma conditionnelle et me update toujours 0 comme si la condition n'etait jamais respectee...

Avez-vous une idee car la j'avoue que je seche...

Je debute en web donc merci d'etre indulgent pour les enormites...
N'hesitez pas a me donner le code entier si necessaire

Merci d'avance