Bonsoir !
Voila mon problème :
Je souhaite faire une requête sql INSERT INTO sur les case que je coche, cela marche avec un onclick = "this.form.submit()" pour recuperer le $_post.
bref le problème c'est que je veux que quand je décoche la case , je récupère un $_post, sauf que $_post ne prend pas en compte les case décocher ...
du coup j'ai beau faire des if des else etc etc je ne recupère jamais la valeur du submit d'une case décocher ...
On parle souvent d'une technique ou l'on met un input hidden a coté d'une case a cocher , mais sans vraiment dire comment faire ...
en gros un exemple de code :
<?php
foreach($_POST['Checkbox'] as $lettre) // Pour chaques case à cocher
{
if (!empty($lettre))// Si la case est n'es pas vide "AJOUT de l'appareil de mesure"
{
echo $lettre;
$sql_query=mysql_query("SELECT * FROM `jointure_capteur_adm` WHERE `id_capteur`=".$_GET['capteur_id']." AND `id_di2`=".$_GET['di_id']." AND `lettre_adm`='$lettre'");
echo mysql_num_rows($sql_query);
if (mysql_num_rows($sql_query) == 0)
{
$query = $DBcon->query("SELECT `nom`,`n_id`,`date_valide` FROM `appareil_de_mesures` WHERE `lettre_adm` = '$lettre'");
$admRow=$query->fetch_array();
$nom= $admRow['nom'];
$id= $admRow['n_id'];
$date= $admRow['date_valide'];
$sql_query="INSERT INTO jointure_capteur_adm(id_capteur,id_di2,nom_adm,n_id_adm,lettre_adm,date_valide_adm) VALUES('".$_GET['capteur_id']."','".$_GET['di_id']."','$nom','$id','$lettre','$date')";
mysql_query($sql_query);
}
}
else // sinon (si ma case est vide) "SUPPRESSION de l'appareil de mesure"
{echo test;
$sql_query=mysql_query("SELECT * FROM `jointure_capteur_adm` WHERE `id_capteur`=".$_GET['capteur_id']." AND `id_di2`=".$_GET['di_id']." AND `lettre_adm`='$lettre'");
if (mysql_num_rows($sql_query) == 1)
{
$sql_query="DELETE FROM `jointure_capteur_adm` WHERE `id_capteur`=".$_GET['capteur_id']." AND `id_di2`=".$_GET['di_id']." AND `lettre_adm`='$lettre'";
mysql_query($sql_query);
}
}
}
?>
puis les cases :
<?php $result = mysql_query("SELECT lettre_adm FROM jointure_capteur_adm WHERE id_di2 = ".$_GET['di_id']." AND id_capteur = ".$_GET['capteur_id']." AND `lettre_adm` = 'A'");
if (mysql_num_rows($result) == 0) { ?>
<input name="Checkbox[]" onchange="this.form.submit()" type="checkbox" value="A">A</td>
<td style="height: 23px">
<?php }else{ ?>
<input name="Checkbox[]" onchange="this.form.submit()" type="checkbox" checked="checked" value="A">A</td>
<td style="height: 23px"> <?php } ?>
une case A , déja cocher au rafraichissement de page si ma requête dit qu'elle a déjà été cocher auparavent , sinon on affiche la case sans coche.
Merci !