J'ai un problème pour stocker les valeurs des cases à cocher dans mysql db (seule la dernière valeur est stockée dans la base de données). Comment puis-je réparer ce code pour stocker toutes les valeurs cochées?
<label class="q" for="q1">Which, if any, of these activities did you do on the Internet in the last 30 days?
</label><br><br>
<input name="q1[]" type="checkbox" value="a1">Used e-mail<br>
<input name="q1[]" type="checkbox" value="a2">Used instant messenger & chat room<br>
<input name="q1[]" type="checkbox" value="a3">Made a purchase for personal use<br>
<input name="q1[]" type="checkbox" value="a4">Downloaded/Played a video game<br>
<input name="q1[]" type="checkbox" value="a5">Obtained news/information/current events<br>
<input name="q1[]" type="checkbox" value="a6">Looked for employment (Used classified listings)<br>
<input name="q1[]" type="checkbox" value="a7">Looked for recipes<br>
<input name="q1[]" type="checkbox" value="a8">Downloaded a movie<br>
<br>
<?php
include('config.php');
$tbl_name="temp_members_db";
$q1=$_POST['q1'];
$sql="INSERT INTO $tbl_name(q1)VALUES('$q1')";
?>
Vous pouvez utiliser implode
http://php.net/manual/en/function.implode.php
$q1=implode(',', $_POST['q1']);
<html>
<head><title>Example</title></head>
<body>
<form action="" method="post">
<table width="50%">
<tr>
<td><input type="checkbox"name="boxes[]"value="8am">1</input></td>
<td>8am</td>
</tr>
<tr>
<td><inputtype="checkbox"name="boxes[]"value="9am">2</input></td>
<td>9am</td>
</tr>
<tr>
<td><input type="checkbox"name="boxes[]"value="10am">3</input></td>
<td>10am</td>
</tr>
</table>
<input type="submit" name="submit">
</form>
<?php
if(isset($_POST['submit'])){
require_once("config.php");
if(isset($_POST['boxes'])){
$t1=implode(',', $_POST['boxes']);
$s = "insert into new(time) values('$t1')";
$res=mysql_query($s);
if($res){
echo "insert success";
}else{
echo "error in inserting";
}
}
}
?>
</body>
</html>
s'il vous plaît essayez ceci.
J'ai rencontré le même problème pour les cases à cocher implode () fonctionne comme un charme. Pour les boutons radio, vous devez utiliser un tableau associatif pour qu'implode () fonctionne.
mais je pense créer une nouvelle table pour ces articles se rapportent à l'identifiant principal. alors vous pouvez gérer dynamiquement ceci: J'ai besoin d'une case à cocher sur les options de paiement telles que:
<div class="form-group row">
<label for="default-input" class="col-md-2 control-label">Payment Options</label>
<div class="col-md-10">
<input name="pamentoptionsValue[]" id="checkbox-0" value="1" class="" type="checkbox">
<label for="checkbox-0" class="control-label"> Cash </label>
<input name="pamentoptionsValue[]" id="checkbox-1" value="2" class="" type="checkbox">
<label for="checkbox-1" class="control-label"> Visa </label>
<input name="pamentoptionsValue[]" id="checkbox-1" value="3" class="" type="checkbox">
<label for="checkbox-1" class="control-label"> MasterCard </label>
<input name="pamentoptionsValue[]" id="checkbox-1" value="4" class="" type="checkbox">
<label for="checkbox-1" class="control-label"> American </label>
<input name="pamentoptionsValue[]" id="checkbox-1" value="5" class="" type="checkbox">
<label for="checkbox-1" class="control-label"> Express</label>
<input name="pamentoptionsValue[]" id="checkbox-1" value="6" class="" type="checkbox">
<label for="checkbox-1" class="control-label"> Nexus</label>
</div>
</div>
cette utilisation pour une entreprise différente, je la stocke comme ceci:
for($u=0;$u<count($_POST['pamentoptionsValue']);$u++){
$pamentoptionsValue =$_POST['pamentoptionsValue'][$u];
//$mdeceased =isset($_POST['mdeceased'])?$_POST['mdeceased']:null;
if($pamentoptionsValue==1){
$pamentoptionsName='Cash';
}elseif($pamentoptionsValue==2){
$pamentoptionsName='Visa';
}elseif($pamentoptionsValue==3){
$pamentoptionsName='MasterCard';
}elseif($pamentoptionsValue==4){
$pamentoptionsName='American';
}elseif($pamentoptionsValue==5){
$pamentoptionsName='Express';
}elseif($pamentoptionsValue==6){
$pamentoptionsName='Nexus';
}elseif($pamentoptionsValue==7){
$pamentoptionsName='bKash';
}elseif($pamentoptionsValue==8){
$pamentoptionsName='Payza';
}
if($pamentoptionsValue){
$query5 = "INSERT INTO pamentoptions (companyId,pamentoptionsDeleted,pamentoptionsCreatedBy,pamentoptionsValue,pamentoptionsName) VALUES ('$companyId','0','$companyCreatedBy','$pamentoptionsValue','$pamentoptionsName')";
$inserted_rows5 = $db->insert($query5);
}
}