Probleme case a cocher enregistrer sur sql

dadou9101 Messages postés 110 Statut Membre -  
dadou9101 Messages postés 110 Statut Membre -
Bonjour,


je cree une sorte de checklist pour ne pas oublier les chose que je devrais faire.
Jai donc cree un formulaire avec plusieur point a marquer et au bout de ces point une checkbox.

J'aimerai enregistrer dans ma table Mysql mon tavbleau qui est sous forme de checkbox checkbox je pense que cela doit être fait sous forme de POST

mais je n'arrive pas a trouver la solution

Jai cree une table Controle dans ma table j'ai cree un champs fait_cont qui a une valeur booleennne (BOOL)

je voulais savoir comment je pourrais intégrer mes enregistrement lier a mes checkbox dans ma base mysql.

je vous remercie de toutes laide que vous pourrez m'apporter

4 réponses

dadou9101 Messages postés 110 Statut Membre 5
 
si joint mon code avec une exemple de 2 case que je doit cocher



<?php

include('connexion.php');
//création de la requête SQL
$sql = "SELECT * FROM `operations` WHERE `id_ope`=1";
//exécution de la requête SQL
$requete = @mysql_query( $sql, $link ) or die( $sql . "<br>" . mysql_error() );
echo "<table width=100% border=2>";
echo "<tr>";
echo "<td width=10%><center>N°</center></td>";
echo "<td width=80%><center>Description</center></td>";
echo "<td width=10%><center></center></td>";
echo "</tr>";

while ($tab = mysql_fetch_array($requete))
{
echo "<tr>";
echo "<td width=10%><center>".$tab['id_ope']."</center></td>";
echo "<td width=80%><a href=\"operations/operation (1).php?nom=".$tab['description_ope']."\" target=\"_blank\">". $tab['description_ope']."</a></td>";
echo "<td width=10%><center><input type=\"checkbox\" name=\"id_cont\" value=\"1\" /></center></td>";
echo "</tr>";
}
?>


<?php

include('connexion.php');
//création de la requête SQL
$sql = "SELECT * FROM `operations` WHERE `id_ope`=2";
//exécution de la requête SQL
$requete = @mysql_query( $sql, $link ) or die( $sql . "<br>" . mysql_error() );


while ($tab = mysql_fetch_array($requete))
{
echo "<tr>";
echo "<td width=10%><center>".$tab['id_ope']."</center></td>";
echo "<td width=80%><a href=\"operations/operation (2).php?nom=".$tab['description_ope']."\" target=\"_blank\">".$tab['description_ope']."</a></td>";
echo "<td width=10%><center><input type=\"checkbox\" name=\"id_cont\" value=\"1\" /></center></td>";
echo "</tr>";
}
?>
2
dadou9101 Messages postés 110 Statut Membre 5
 
up
1
Alain_42 Messages postés 5413 Statut Membre 894
 
si tu mets des checkbox

<input ype="checkbox" name="cases_coch[]" value="1">
<input ype="checkbox" name="cases_coch[]" value="2">
<input ype="checkbox" name="cases_coch[]" value="3">

tu vas récuperer en method POST les cases cochées dans un array

$cases_cochees=$_POST['cases_coch'];
si la case est cochée tu auras la valeur de value sinon rien

tu retrouve tes cases en parcourant l'array

ou alors tu mets un name différend pour chaque case à cocher case_1 case_2 etc...



donc dans ta base il faut que tu enregistres si cochée la valeur, sinon 0 par exemple

ensuite quant tu lis ta table si différend de de 0 tu mets checked au moment de l'afficchage

ex:

<input ype="checkbox" name="cases_coch[]" value="1" <?php if ($tab['id_ope'] == "1") {echo "checked"; } ?>>
0
dadou9101 Messages postés 110 Statut Membre 5
 
si je comprend bien mon code est faux


echo "<td width=10%><center><input type=\"checkbox\" name=\"id_cont\" value=\"1\" /></center></td>";

ou jeu peu kan meme recupere mes données dans un post
1
Alain_42 Messages postés 5413 Statut Membre 894
 
Si elles ont toutes le même name oui c'est faux

soit tu mets name="id_cont[]"

et tu récupéres dans un array

soit tu mets name=""id_cont_1"

name="id_cont_2" etc..

et la tu récuperes par

if(isset$_POST['id_cont_1']){$id_cont_1=$_POST['id_cont_1'];}

etc...
-1
dadou9101 Messages postés 110 Statut Membre 5 > Alain_42 Messages postés 5413 Statut Membre
 
jai toujours un petit souci je narrive pas a affectuer mon enregistrement sur ma base de donne pourtant jai suivi ta methode


<?php
foreach($_POST AS $key=>$value)
echo $key . "<br>";
echo $value . "<br>";
include('connexion.php');
{
if($value == '1')
{
//Ici tu mets toutes les actions que tu veux faire si le bouton est coché
$statement = "INSERT INTO controle (operations_id_ope ,magasin_id_magasin) VALUES ('$key','$value')";
echo $statement;
//mysql_query ($statement);
}
else
{
//ici tu mets toutes les actions que tu veux faire si le bouton n'est pas coché
}
}
?>
0
dadou9101 Messages postés 110 Statut Membre 5
 
donc OK

si je comprend bien je vais devoir attribuer un nom pour chaque chekbox
si je suis ton raisonnement par ex

<input type="checkbox" name="cases_coch1[]" value="1">
<input type="checkbox" name="cases_coch2[]" value="1">
<input type="checkbox" name="cases_coch3[]" value="1">

alors je devrais créer un post par checkbox

a savoir

$cases_cochees=$_POST['cases_coch1'];
$cases_cochees=$_POST['cases_coch2'];
$cases_cochees=$_POST['cases_coch3'];

le souci c'est que je vois pas la suite du code en faite je suis bloquer
1