Aide pour checkbox
ju
-
wissem -
wissem -
Bonjour!!
J'ai fabriquer une fonction en php pour creer des cases a cocher dans un formulaire afin de remplir une base de donnée.
Mon problème est que les données ne sont justement pas incluses dans la base.
Si quelqu'un a une idée (je crois qu'il faut faire un test pour savoir si la case est cocher ou pas mais je n'ai pas d'idée pour le coder en php).
Voici ma fonction qui creer les boite a cocher:
function case_cocher($requete, $nom_case, $defaut){
global $host_bd, $login_bd, $pass_bd, $nom_bd;
$connection = ouvrir_db($host_bd, $login_bd, $pass_bd, $nom_bd);
$result = mysql_query($requete);
if ($result == 0){
$resultat = 'Impossible d\'effectuer cette requete '.$requete;
}else{
if (mysql_num_rows($result)==0){
$resultat = 'Aucune donnée ne correspond à votre requête';
}else{
while($ligne=mysql_fetch_row($result)){
while (list($cle,$valeur) = each($ligne)){
$resultat .= '<input type="checkbox" name="$cle" VALUE="'.$valeur.'">'.$valeur.'<br>';
}
}}}
la fonction qui integre les valeurs dans la base de donnée est:
if ($status == "ok"){
$debut_requete = "INSERT INTO $objet (";
$fin_requete = ") VALUES(";
while(list($cle,$valeur)=each($champs)){
$debut_requete .= "$cle, ";
$fin_requete .= "'$valeur', ";
}
$requete = substr($debut_requete, 0,strlen($debut_requete)-2).substr($fin_requete, 0, strlen($fin_requete)-2).")";
action_simple($requete);
$action = "visualiser";
fermer_db($connection);
return $resultat;
}
J'ai fabriquer une fonction en php pour creer des cases a cocher dans un formulaire afin de remplir une base de donnée.
Mon problème est que les données ne sont justement pas incluses dans la base.
Si quelqu'un a une idée (je crois qu'il faut faire un test pour savoir si la case est cocher ou pas mais je n'ai pas d'idée pour le coder en php).
Voici ma fonction qui creer les boite a cocher:
function case_cocher($requete, $nom_case, $defaut){
global $host_bd, $login_bd, $pass_bd, $nom_bd;
$connection = ouvrir_db($host_bd, $login_bd, $pass_bd, $nom_bd);
$result = mysql_query($requete);
if ($result == 0){
$resultat = 'Impossible d\'effectuer cette requete '.$requete;
}else{
if (mysql_num_rows($result)==0){
$resultat = 'Aucune donnée ne correspond à votre requête';
}else{
while($ligne=mysql_fetch_row($result)){
while (list($cle,$valeur) = each($ligne)){
$resultat .= '<input type="checkbox" name="$cle" VALUE="'.$valeur.'">'.$valeur.'<br>';
}
}}}
la fonction qui integre les valeurs dans la base de donnée est:
if ($status == "ok"){
$debut_requete = "INSERT INTO $objet (";
$fin_requete = ") VALUES(";
while(list($cle,$valeur)=each($champs)){
$debut_requete .= "$cle, ";
$fin_requete .= "'$valeur', ";
}
$requete = substr($debut_requete, 0,strlen($debut_requete)-2).substr($fin_requete, 0, strlen($fin_requete)-2).")";
action_simple($requete);
$action = "visualiser";
fermer_db($connection);
return $resultat;
}
A voir également:
- Aide pour checkbox
- Html checkbox value 1 or 0 ✓ - Forum PHP
- [VBA] liste déroulante de checkbox dynamique - Forum VB / VBA
- Macro pr copier des cellule si checkbox coché - Forum Programmation
- Code VBA powerpoint checkbox avec condition et renvoi - Forum Powerpoint
- VBA - Formulaire avec checkbox ou listbox à choix multiple - Forum Excel
28 réponses
Le code que tu m'as donné fonctionne mais dans mon cas la requete ne peux pas se faire car le $cle contient nom_analyse et non Nom_Analyse.
Comment faire pour recuperer dans $cle l'intitulé qui va bien.
exemple de la structure de la table:
$champs = array("Nom_Analyse"=>"$nom_analyse",
"Type" =>"$type",
"Nom_Org_Commun"=>"$nom_org_commun",
Comment faire pour recuperer dans $cle l'intitulé qui va bien.
exemple de la structure de la table:
$champs = array("Nom_Analyse"=>"$nom_analyse",
"Type" =>"$type",
"Nom_Org_Commun"=>"$nom_org_commun",
En fait c bon ji suis arrrivé.
Encore une dernière chose....
Ce code ne me permet de prendre que la dernière valeur coché dans mes cases alors que je veux pouvoir en selectionner plusieurs a la fois.
Comment faire??
Encore une dernière chose....
Ce code ne me permet de prendre que la dernière valeur coché dans mes cases alors que je veux pouvoir en selectionner plusieurs a la fois.
Comment faire??
Elles ont toutes le même nom ?
-> Si oui : tu met des "[]" après le nom des tes box
->> <input type="checkbox" name="maboite[]" ...>
tes valeurs de box seront dans une array.
ds le php
$valeur=implode(' - ', $valeur);
Va te donner : val1 - val2 - val3 ...
ilte suffit de remplacer le tiret par ce que tu veux:
$valeur=implode(' toto ~# ', $valeur);
-> Si oui : tu met des "[]" après le nom des tes box
->> <input type="checkbox" name="maboite[]" ...>
tes valeurs de box seront dans une array.
ds le php
foreach($_POST as $cle => $valeur){
if(is_array($valeur)){$valeur=implode(' - ', $valeur);}
$VLAS .=(!in_array($cle, $hiddenList))?", $cle ='$valeur' ":'';
}
$valeur=implode(' - ', $valeur);
Va te donner : val1 - val2 - val3 ...
ilte suffit de remplacer le tiret par ce que tu veux:
$valeur=implode(' toto ~# ', $valeur);
je lance un appel à tout ceux qui peuvent m'aider
j'ai un multiple checkbox, il me les affiche
mais dans le mail je recois array, pourquoi
if(isset($_POST["informations"])) {
for ($i=0;$i<count($_POST["informations"]);$i++)
echo $_POST["informations"][$i]." ";
{
$msg .= "Vous collectez les informations par: ".$informations[$i];
}
}
merci d'avance
j'ai un multiple checkbox, il me les affiche
mais dans le mail je recois array, pourquoi
if(isset($_POST["informations"])) {
for ($i=0;$i<count($_POST["informations"]);$i++)
echo $_POST["informations"][$i]." ";
{
$msg .= "Vous collectez les informations par: ".$informations[$i];
}
}
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>listes</title>
<style type="text/css">
<!--
.style1 {
font-family: Arial;
font-size: 12px;
}
-->
</style>
</head>
<body >
<?
@mysql_pconnect('localhost','root','edirect');
@mysql_select_db('etudes');
$result=mysql_query("SELECT * FROM personnel ");
if(!empty($_POST["id_fonction"]))
$tab=array("fonction");
$nb=count ($tab);
for($i=0;$i<=$nb;$i++)
echo $tab[$i];
?>
<?
$nb_total=mysql_num_rows($result);
echo "'<center>Il existe $nb_total personnels dans notre base</center>'";
?>
<img src="images/prdct_839aef72e5f5c160965624603c750dfd_85.gif" width="180" height="39" />
<br />
<br />
<table width="147%"height="253" border="0" cellpadding="0" cellspacing="0" bgcolor="#7F9DB9" style="border:#CCCCCC solid 1px;">
<tr>
<td width="136" height="251" valign="top" bgcolor="#CCCCCC" class="style13"><p><a href="ajout_opt.php">-Listes:</a><br />
-Listes des personnels <br />
<a href="ajout.php">-Ajouter un personnel </a> </p>
<p><a href="etude.php">-Etudes:<br />
-Listes des etudes :<br />
</a><a href="ajout-etude.php">-Ajouter etude </a><a href="etude.php"><br />
</a><br />
<a href="fonction.php">-Fonctions:<br />
-Listes des fonctions </a><br />
<br />
<td width="965" style=""border-bottom":"#CCCCCC "solid "1px";>
<?php
if(!empty($_GET["id"]))
{
if(mysql_query("DELETE FROM personnel WHERE id='".$_GET["id"]."'"))
{
$reponse=" personnel supprimé avec succès...
<meta http-equiv='refresh' content='3;URL=liste.php'>
";
}else{
$reponse= "Erreur de suppression...
<meta http-equiv='refresh' content='3;URL=liste.php'>
"; }
?>
<table width="50%" align="center" style="font-size:12px; font-family:verdana; color:blue; " >
<tr>
<td width="13%" valign="center"><img src="images/chargement.gif" width="20" height="20" /> </td>
<td width="87%" align="center" valign="middle" ><span class="style4"> </span>
<div align="center">
<?=$reponse ?>
</div>
</div></td>
</tr>
<tr ></tr>
</table>
<?
} else {
?>
<form name="liste" method="post" action="">
<table width="875" height="90" border="1" align="left" cellpadding="0" cellspacing="0" style="border:#CCCCCC solid 1px;">
<tr>
<td width="119" height="35" style="border-bottom:#CCCCCC solid 1px;"><div align="left" class="style15 style1">Nom et prénom </div></td>
<td width="99" class="style1" style="border-bottom:#CCCCCC solid 1px;">Fonction</td>
<td width="91" class="style1" style="border-bottom:#CCCCCC solid 1px;">Etude</td>
<td width="95" class="style1" style="border-bottom:#CCCCCC solid 1px;">CIN</td>
<td width="95" class="style1" style="border-bottom:#CCCCCC solid 1px;">Adresse</td>
<td width="85" class="style1" style="border-bottom:#CCCCCC solid 1px;">Tel1</td>
<td width="40" class="style1" style="border-bottom:#CCCCCC solid 1px;">Tel2</td>
<td width="77" class="style1" style="border-bottom:#CCCCCC solid 1px;">Tel3</td>
<td width="76" class="style1" style="border-bottom:#CCCCCC solid 1px;">Modifier</td>
<td width="76" class="style15" style="border-bottom:#CCCCCC solid 1px;"><div align="left" class="style1">Supprimer</div></td>
</tr>
<?
while($val=mysql_fetch_array($result))
{
?>
<tr>
<td width="119" height="53"align="left" style="font-size:14px"><? echo "-".$val["nometprenom"]."";?></td>
<td width="99" height="53" align="left"><? if($val["id_fonction"]!="")
{$req="SELECT * FROM fonction where id_fonction=".$val["id_fonction"]."";
$res=mysql_query($req) or die (mysql_error());
$row=mysql_fetch_assoc($res);
echo $row['fonction'];
}
else
echo " ";?></td>
<td width="91" height="53" align="left"><? if($val["id_etude"]!="")
{$req1="SELECT * FROM etude where id_etude=".$val["id_etude"]."";
$res1=mysql_query($req1) or die (mysql_error());
$row=mysql_fetch_assoc($res1);
echo $row['titre'];
}
else
echo " ";?></td>
<td width="95"><? echo $val["cin"];?></td>
<td width="95"><? echo $val["adresse"];?></td>
<td width="85"><? echo $val["tel1"];?></td>
<td width="40"><? echo $val["tel2"];?></td>
<td width="77"><? echo $val["tel3"];?></td>
<td width="76" align="left"><a href="modif.php?id=<? echo $val["id"]; ?>"><img src="images/Search2.gif" border="0" /></a></td>
<td width=76 align=left><a href="liste.php?id=<? echo $val["id"]; ?>"><img src="images/shutdown.png" height="27" border="0"/></a></td>
</tr>
<? }?>
</table>
<? } ?>
</form>
</table>
<br />
<br />
<br />
<br />
<br />
<table width="1056">
<tr>
<td width="556" height="53"><div align="left"><span class="style6">39 rue Mohamed Saad, Menzah 9 A, 1013, Tunis, Tunisie<br />
Tél.: (+216) 70 860 590 Fax: (+216) 71 873 399 - edirect@planet.tn</span></div></td>
<td width="488"><div align="left"><span class="style6"><img src="images/!cid_edirect_logo_powered.gif" width="177" height="60" align="right" /></span></div></td></tr>
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>listes</title>
<style type="text/css">
<!--
.style1 {
font-family: Arial;
font-size: 12px;
}
-->
</style>
</head>
<body >
<?
@mysql_pconnect('localhost','root','edirect');
@mysql_select_db('etudes');
$result=mysql_query("SELECT * FROM personnel ");
if(!empty($_POST["id_fonction"]))
$tab=array("fonction");
$nb=count ($tab);
for($i=0;$i<=$nb;$i++)
echo $tab[$i];
?>
<?
$nb_total=mysql_num_rows($result);
echo "'<center>Il existe $nb_total personnels dans notre base</center>'";
?>
<img src="images/prdct_839aef72e5f5c160965624603c750dfd_85.gif" width="180" height="39" />
<br />
<br />
<table width="147%"height="253" border="0" cellpadding="0" cellspacing="0" bgcolor="#7F9DB9" style="border:#CCCCCC solid 1px;">
<tr>
<td width="136" height="251" valign="top" bgcolor="#CCCCCC" class="style13"><p><a href="ajout_opt.php">-Listes:</a><br />
-Listes des personnels <br />
<a href="ajout.php">-Ajouter un personnel </a> </p>
<p><a href="etude.php">-Etudes:<br />
-Listes des etudes :<br />
</a><a href="ajout-etude.php">-Ajouter etude </a><a href="etude.php"><br />
</a><br />
<a href="fonction.php">-Fonctions:<br />
-Listes des fonctions </a><br />
<br />
<td width="965" style=""border-bottom":"#CCCCCC "solid "1px";>
<?php
if(!empty($_GET["id"]))
{
if(mysql_query("DELETE FROM personnel WHERE id='".$_GET["id"]."'"))
{
$reponse=" personnel supprimé avec succès...
<meta http-equiv='refresh' content='3;URL=liste.php'>
";
}else{
$reponse= "Erreur de suppression...
<meta http-equiv='refresh' content='3;URL=liste.php'>
"; }
?>
<table width="50%" align="center" style="font-size:12px; font-family:verdana; color:blue; " >
<tr>
<td width="13%" valign="center"><img src="images/chargement.gif" width="20" height="20" /> </td>
<td width="87%" align="center" valign="middle" ><span class="style4"> </span>
<div align="center">
<?=$reponse ?>
</div>
</div></td>
</tr>
<tr ></tr>
</table>
<?
} else {
?>
<form name="liste" method="post" action="">
<table width="875" height="90" border="1" align="left" cellpadding="0" cellspacing="0" style="border:#CCCCCC solid 1px;">
<tr>
<td width="119" height="35" style="border-bottom:#CCCCCC solid 1px;"><div align="left" class="style15 style1">Nom et prénom </div></td>
<td width="99" class="style1" style="border-bottom:#CCCCCC solid 1px;">Fonction</td>
<td width="91" class="style1" style="border-bottom:#CCCCCC solid 1px;">Etude</td>
<td width="95" class="style1" style="border-bottom:#CCCCCC solid 1px;">CIN</td>
<td width="95" class="style1" style="border-bottom:#CCCCCC solid 1px;">Adresse</td>
<td width="85" class="style1" style="border-bottom:#CCCCCC solid 1px;">Tel1</td>
<td width="40" class="style1" style="border-bottom:#CCCCCC solid 1px;">Tel2</td>
<td width="77" class="style1" style="border-bottom:#CCCCCC solid 1px;">Tel3</td>
<td width="76" class="style1" style="border-bottom:#CCCCCC solid 1px;">Modifier</td>
<td width="76" class="style15" style="border-bottom:#CCCCCC solid 1px;"><div align="left" class="style1">Supprimer</div></td>
</tr>
<?
while($val=mysql_fetch_array($result))
{
?>
<tr>
<td width="119" height="53"align="left" style="font-size:14px"><? echo "-".$val["nometprenom"]."";?></td>
<td width="99" height="53" align="left"><? if($val["id_fonction"]!="")
{$req="SELECT * FROM fonction where id_fonction=".$val["id_fonction"]."";
$res=mysql_query($req) or die (mysql_error());
$row=mysql_fetch_assoc($res);
echo $row['fonction'];
}
else
echo " ";?></td>
<td width="91" height="53" align="left"><? if($val["id_etude"]!="")
{$req1="SELECT * FROM etude where id_etude=".$val["id_etude"]."";
$res1=mysql_query($req1) or die (mysql_error());
$row=mysql_fetch_assoc($res1);
echo $row['titre'];
}
else
echo " ";?></td>
<td width="95"><? echo $val["cin"];?></td>
<td width="95"><? echo $val["adresse"];?></td>
<td width="85"><? echo $val["tel1"];?></td>
<td width="40"><? echo $val["tel2"];?></td>
<td width="77"><? echo $val["tel3"];?></td>
<td width="76" align="left"><a href="modif.php?id=<? echo $val["id"]; ?>"><img src="images/Search2.gif" border="0" /></a></td>
<td width=76 align=left><a href="liste.php?id=<? echo $val["id"]; ?>"><img src="images/shutdown.png" height="27" border="0"/></a></td>
</tr>
<? }?>
</table>
<? } ?>
</form>
</table>
<br />
<br />
<br />
<br />
<br />
<table width="1056">
<tr>
<td width="556" height="53"><div align="left"><span class="style6">39 rue Mohamed Saad, Menzah 9 A, 1013, Tunis, Tunisie<br />
Tél.: (+216) 70 860 590 Fax: (+216) 71 873 399 - edirect@planet.tn</span></div></td>
<td width="488"><div align="left"><span class="style6"><img src="images/!cid_edirect_logo_powered.gif" width="177" height="60" align="right" /></span></div></td></tr>
</table>
</body>
</html>
Pour moi le plus simple est de donner aux champ du formulaire le nom qui correspond au champ de la table qu'ils doivent renseigner.
Ce qui est visiblement ce que tu a fait.
Après tu fais :
Ce qui est visiblement ce que tu a fait.
Après tu fais :
unset($_POST[Submit]);
foreach($_POST as $champ => $valeur){
$VLAS .=", $champ ='$valeur' ";
}
$VLAS=substr( $VLAS, 1);
$requete="INSERT INTO $table set ".$VALS;
Ben non ji arrive toujours pas....
La valeur des cases cochées ne sont toujours pas incluses dans la table
La valeur des cases cochées ne sont toujours pas incluses dans la table
je suis désolé d'insister mais ca fait assez longtemps que j'ai pas fait de php et de mysql donc j'ai un peu de mal.
mon code est ainsi maintenant:(ca ne marche toujours pas)
list($cle_primaire, $valeur_primaire) = each($primaire);
$form = $objet;
$mode = "formulaire";
if ($action == 'ajouter' || ($action == 'visualiser' && $num_enr == '')){
if ($status == "ok"){
$hiddenList=array('resultats_analyses','Nom_Analyse,Type,Nom_Org_Commun,Date_Analyse,Resultat_attendu,Resultat_obtenu,Commentaire');
$debut_requete = "INSERT INTO $objet (";
$fin_requete = ") VALUES(";
while(list($cle,$valeur)=each($champs)){
$debut_requete .= "$cle, ";
$fin_requete .= "'$valeur', ";
}
$requete = substr($debut_requete, 0, strlen($debut_requete)-2).substr($fin_requete, 0, strlen($fin_requete)-2).")";
unset($_POST[Submit]);
foreach($_POST as $cle => $valeur){
$VLAS .=(!in_array($cle, $hiddenList))?", $cle ='$valeur' ":'';
}
$VLAS=substr( $VLAS, 1);
$requete .=$VALS;
action_simple($requete);
mon code est ainsi maintenant:(ca ne marche toujours pas)
list($cle_primaire, $valeur_primaire) = each($primaire);
$form = $objet;
$mode = "formulaire";
if ($action == 'ajouter' || ($action == 'visualiser' && $num_enr == '')){
if ($status == "ok"){
$hiddenList=array('resultats_analyses','Nom_Analyse,Type,Nom_Org_Commun,Date_Analyse,Resultat_attendu,Resultat_obtenu,Commentaire');
$debut_requete = "INSERT INTO $objet (";
$fin_requete = ") VALUES(";
while(list($cle,$valeur)=each($champs)){
$debut_requete .= "$cle, ";
$fin_requete .= "'$valeur', ";
}
$requete = substr($debut_requete, 0, strlen($debut_requete)-2).substr($fin_requete, 0, strlen($fin_requete)-2).")";
unset($_POST[Submit]);
foreach($_POST as $cle => $valeur){
$VLAS .=(!in_array($cle, $hiddenList))?", $cle ='$valeur' ":'';
}
$VLAS=substr( $VLAS, 1);
$requete .=$VALS;
action_simple($requete);