PhP chekbox

Eléphanteau du PHP | 27 Messages

20 mai 2011, 22:50

Bonjour,
comment je peux inserer plusieurs valeurs des option checkbox dans un même champ de base des données,je bien récupérer mais j'ai une pbm d'insertion ma réquette elle m'affiche toux le choix mais elle insere seullement la dernier choix.
voila mon code html:
<html>
<head>
<title>Saisie de Données</title>
</head>
<body background="traçage-yogo-elipse_03.gif">
<form action="Formilaire.php" method="post" name="Saisie de Données">
<table align="center" border="2" bgcolor="#0066FF"><tr><td><b><i><h1><font color="#FF0000">Saisie Coupon</font></h1></i></b></td></tr></table>

<table bgcolor="#0033FF" align="center" border="0" width="60%">

<tr><td><b><i><h2><font color="#FFFFFF">Date:(AAAA-MM-JJ)</h2></i></b></td>
    <td><input type="text" name="date" maxlength="10" size="30" /></td></tr>
	
<tr><td><b><i><h2><font color="#FFFFFF">Zone:</font></h2></i></b></td>
    <td><input type="text" name="zone" size="30" /></td></tr>
	
<tr><td><b><i><h2><font color="#FFFFFF">Nom et Prénom:</font></h2></i></b></td>
    <td><input type="text" name="nompr" size="30" /></td></tr>
	
<tr><td><b><i><h2><font color="#FFFFFF">Adresse:</font></h2></i></b></td>
    <td><input type="text" name="adresse" size="30" /></td></tr>
	
<tr><td><b><i><h2><font color="#FFFFFF">GSM:</font></h2></i></b></td>
    <td><input type="text" name="gsm" size="8" /></td></tr>
	
	<tr><td><b><i><h2><font color="#FFFFFF">N° Coupons:</font></h2></i></b></td>
    <td><input type="text" name="numcoupon" size="6" /></td></tr>
	
<tr><td><b><i><h4><font color="#FFFFFF">Type:</font></h4></i></b></td>
<td><input type="radio" name="type" value="épicier" checked="checked">Epicier
    <input type="radio" name="type" value="superette">Superette
	<input type="radio" name="type" value="autre">Autre</td></tr>
	<tr><td><b><i><h4><font color="#FFFFFF">Est-il client de yogo?:</font></h4></i></b></td>
<td><input type="radio" name="q1" value="oui" checked="checked">Oui
    <input type="radio" name="q1" value="non">Non</td></tr>	</table>
<table bgcolor="#0033FF" align="center" border="0" width="60%">
<tr><td><b><i><h4><font color="#FFFFFF">Quels sont les produits existant:</font></h4></i></b></td></tr>
<tr><td>
<input type="checkbox" name="q2[]" value="Lait">Lait
<input type="checkbox" name="q2[]" value="Yaourt">Yaourt
<input type="checkbox" name="q2[]" value="Y à Boire">Y à Boire
<input type="checkbox" name="q2[]" value="Genevoise">Genevoise
<input type="checkbox" name="q2[]" value="Raib-Lben">Raib-Lben
<input type="checkbox" name="q2[]" value="Calina">Calina
<input type="checkbox" name="q2[]" value="Cric Crac">Cric Crac
<input type="checkbox" name="q2[]" value="Jus">Jus
<input type="checkbox" name="q2[]" value="Crème Fraîche">Crème Fraîche
<input type="checkbox" name="q2[]" value="Yog'up">Yog'up
</td></tr></table>
<table bgcolor="#0033FF" align="center" border="0" width="60%">
<tr><td colspan="2" align="center">
    <input type="submit" name="ok" value="Enregistrer" /><input type="reset" name="effacer" value="Annulre" /></td></tr>
  </table></form>
</body>
</html>

et voila mon cod PHP
<html>
<head>
<title>Saisie Coupon</title>
</head>

<body>
<?php

$date=$_POST["date"];
$zone=$_POST["zone"];
$nompr=$_POST["nompr"];
$adresse=$_POST["adresse"];
$gsm=$_POST["gsm"];
$numcoupon=$_POST["numcoupon"];
$type=$_POST["type"];
$q1=$_POST["q1"];

for ($i=0;$i<count($_POST['q2']);$i++)
{
$q2check = $_POST['q2'][$i].'-';

echo $q2check;
}	 
	 
$db = mysql_connect('localhost', 'root', 'mysql') or die(mysql_error());
mysql_select_db('soril',$db) or die(mysql_error());
if (empty($date) or empty($zone) or empty($nompr) or empty($adresse) or empty($gsm)
 or empty($numcoupon) or empty($type) or empty($q1) or empty($q2check))
    {include("Index.html");
   ?>
    <div align="center"><SCRIPT LANGUAGE = JavaScript >alert("Remplir tous les champs SVP"); </SCRIPT></div>
    <?php exit();}
	else
	{

$req="select * from yogo";
$resultat=mysql_query($req) or die('erreur connexion');

if(!$resultat)
   {include("Index.html");
   ?>
    <div align="center"><SCRIPT LANGUAGE = JavaScript >alert("Erreur"); </SCRIPT></div>
    <?php exit();
   }
else
  {
   $sql = "insert into yogo (date,zone,nompr,adresse,gsm,numcoupon,type,q1,q2) 
                      VALUES('$date', '$zone', '$nompr', '$adresse', '$gsm', '$numcoupon', '$type', '$q1','$q2check')";
		              mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());

	                  include("Index.html");
	
  ?>
  <div align="center"><SCRIPT LANGUAGE = JavaScript >alert("Enregistrement effectuée"); </SCRIPT></div>
   <?php exit();	 	 
  }
}
?>
</body>
</html>
Merci

Eléphant du PHP | 171 Messages

21 mai 2011, 14:48

for ($i=0;$i<count($_POST['q2']);$i++)
{
$q2check = $_POST['q2'][$i].'-';

echo $q2check;
}        
Essaye
$q2check .=  $_POST['q2'][$i].'-';
Je pense que c'est çà que tu recherches, car j'ai pas tout à fait compris ton problème mais je crois que c'est ce que tu veux. ^^
Le bon jugement s'apprend par l'expérience qui s'acquiert en partie par le mauvais jugement.

Eléphanteau du PHP | 27 Messages

21 mai 2011, 15:19

Exactement mmmmmmmmmmmmmmmmmmmmmmmmmerci