带有来自sql的2个值的1个复选框传递选择

时间:2011-05-20 15:12:05

标签: php sql checkbox

大家好 现在是2周,我在寻找我的问题的答案,没有运气。希望somone可以帮助我

我有一个chackbox选项,我从数据库中调用

<form style="margin-top:-30px" method="POST" action="extradata.php">
<?php
$sql = "SELECT ext_id,ext_price,ext_name,ext_description FROM tbl_extra ORDER by ext_id ASC";
$result = mysql_query($sql) or trigger_error(mysql_error(),E_USER_ERROR);
$number = mysql_num_rows($result);
$i = 0;
while ($number > $i) {
$NA= mysql_result($result,$i,"ext_name");
$PR= mysql_result($result,$i,"ext_price");

print "<input type='checkbox' name='extra[]' value='$NA'></td>";
$i++;
}
?>

我要做的是将值传递给extradata.php,其值为2 1。$NA
2。$PR
选中框后,将$NA的值ex_tra$PR的值ex_price插入数据库

extradata.php

<?php
require_once 'library/config.php';

$id=$_POST['pd_id'];
$ssid=$_POST['ct_session_id'];
$total=$_POST['tot'];
$name=$_POST['basedes'];
$qty=$_POST['ct_qty'];
$extra_array = $_POST['extra'];
if ( $extra_array > "0" ) {
foreach ($extra_array as $one_extra) {
$source .= $one_extra.", "; }
$extra = substr($source, 0, -2);
} else {}
$result=mysql_query("INSERT INTO tbl_cart (pd_id, ct_qty, ct_session_id, ex_tra, ex_tra2, ex_price, ct_date) VALUES ('$id','$qty','$ssid','$extra','$name','$total', NOW())");

?>

最好的关注所有

1 个答案:

答案 0 :(得分:2)

在一个变量中发送两个值肯定会变得混乱。我只是发送id并在extradata.php中再次从数据库中获取相应的值。

如果你真的想要发送多个值,我会使用固定索引作为复选框(不是extra[]而是extra[SOME_NUMBER]并在其旁边添加一个隐藏字段(extra_pr[SOME_NUMBER]?)到传递第二个值。

请注意,您必须使用固定索引作为未选中的复选框,不会发布,但所有隐藏字段都会发布。