2013-06-06 78 views
-1

我希望有人能帮助我。我有4个复选框,我想将它保存在我的数据库中的一个字符串,例如,你只能选择2个或3复选框选项..选定值仅会在我的数据库的一个字段保存..将多个选中的复选框保存在数据库中

<tr> 
    <td><label>Plan Description:</label></td> 
</table> 
<?php 
    $des_query=mysql_query("SELECT * FROM addons;") or die ("Note: ". mysql_error()); 
?> 

<?php 
    while($desc = mysql_fetch_array($des_query)) 
    { 
     echo "<input type='checkbox' name='addons[]' value=".$desc['id'].">". $desc['name']."</input><br/>"; 
    } 
?> 
</tr> 
+0

阵列([0] => 1 [1] => 2 [2] => 3 这些阵列例如我希望他们在一个场保存在我的数据库。请帮助我如何做到这一点。 – imlyn

+1

使用for循环并将已发布的复选框值串联到一个字符串中并保存 –

+0

@Deepu就像这样? ('__POST [plan_id]','$ _POST [addons]')“) $ len = count($ _ POST ['addons']); ($ i = 0; $ i <$ len; $ i ++) echo [$ _POST] [$ i]; } – imlyn

回答

0
$insStr = ''; 
foreach($_POST['addons'] as $val){ $insStr .=$val.","; } 
mysql_query("INSERT INTO promos (promo) VALUES ('$insStr')"); 
+0

你也可以使用'implode' –

+0

@Deepu 我有一个错误。请检查我的代码,如果这是正确的。 (“$ _POST [addons]')”); $ insStr =''; ($ _ POST ['addons'] as $ val){ $ insStr。= $ val。“,”; } – imlyn

+0

你能否发布错误 –

0

您可以使用序列化()方法 例如

$arr = Array ([0] => 1 [1] => 2 [2] => 3); 
    $str = serialize($arr); 

从数据库中使用反序列化检索后()方法

+0

谢谢你的帮助..非常感谢.. :) – imlyn

0

你可以把PHP的优势内置f中命名implode

$checkboxValue implode(',',$_POST['addons']); 
+0

谢谢你的帮助。 。非常感谢.. :) – imlyn

0

尝试这样

if(!empty($_POST['addons'])) { $addons_string="";foreach($_POST['addons'] as $addon){$addons_string.=$addon.","; } } 
+0

谢谢你的帮助..非常感谢.. :) – imlyn

+0

我欢迎.. !! :) –

0

test.php的

<form name="test" action="test1.php" method="get"> 
<?php 
    for($i=0; $i<9;$i++){ 
     echo "<input type='checkbox' name=a[] value=$i>$i<br>"; 
    } 
?> 
<input type="submit" value="Submit"> 
</form> 

和test1.php

油膏
<?php 
foreach($_GET['a'] as $check) { 
    echo $check; 
    //SAVE VALUES TO DATABASE 
} 
?> 

希望这将有助于你

+1

谢谢你的帮助..非常感谢.. :) – imlyn

相关问题