Php 将多个值传递到复选框的“值”属性中

Php 将多个值传递到复选框的“值”属性中,php,mysql,Php,Mysql,如何将多个值传递给已包含值的复选框输入的值属性。我想将$row['ProductStartDate']和$row['ProductEndDate']连同它自己的值$row['ProductID']一起传递给复选框[]。这样,对于复选框中选中的每个ProductID,都可以在ProductEndDate和ProductStartDate之间进行计算 $sql = 'SELECT * FROM product ORDER BY ProductID ASC'; $result_select = mys

如何将多个值传递给已包含值的复选框输入的值属性。我想将$row['ProductStartDate']和$row['ProductEndDate']连同它自己的值$row['ProductID']一起传递给复选框[]。这样,对于复选框中选中的每个ProductID,都可以在ProductEndDate和ProductStartDate之间进行计算

$sql = 'SELECT * FROM product ORDER BY ProductID ASC';
$result_select = mysql_query($sql);
$rows = array();
while($row = mysql_fetch_array($result_select))
    $rows[] = $row;
foreach ($rows as $row) {
    echo '<tr>';
    echo '<td>'. $row['ProductID'] . '</td>';
    echo '<td>'. $row['ProductName'] . '</td>';
    echo '<td>'. $row['ProductPrice'] . '</td>';
    echo '<td>'. $row['ProductStartDate'] . '</td>';
    echo '<td>'. $row['ProductEndDate'] . '</td>';
    echo '<td><a class="btn" href="productupdate.php?id='.$row['ProductID'].'">Update</a></td>';
    echo ' ';
    echo '<td><a class="btn" href="productdelete.php?id='.$row['ProductID'].'">Delete</a></td>';
    echo ' ';
    echo '<td><input type="checkbox" name="check[]" value="'.$row['ProductID'] .'" ></td>';
    echo '</tr>';
}

$checkbox1 = $_POST['check'];
for ($i=0; $i<sizeof($checkbox1); $i++) {

    $date1 = strtotime($row['ProductStartDate']);
    $date2 = strtotime($row['ProductEndDate']);
    // Adding current month + all months in each passed year
    $diff = 1 + (date("Y",$date2)-date("Y",$date1))*12;
    // Add/subtract month difference
    $diff += date("m",$date2)-date("m",$date1);

    $sql3="INSERT into enrollment (StudentID, ProductID, EnrollmentMonth) VALUES($StudentID, $checkbox1[$i], $diff)";
    mysql_query($sql3);
}

并停止使用mysql_*函数,请参见上面我对您答案的评论。

您可以尝试下面的方法

1只需使用任何分隔符来计算所需的值

echo '<td><input type="checkbox" value="'.$row['ProductStartDate'].':'.$row['ProductID'].':'.$row['ProductEndDate'].'" name="chk_export" /></td>';
将具有所需的值


或者您可以在隐藏字段中设置开始日期和结束日期,并在表单发布时获取它们

这不是答案,但…停止使用mysql扩展这是使用多个复选框。关键是要在一个复选框中存储多个值,这些值可以保留并发送到mysql。我尝试了使用您的方法,但POST只能捕获最后一个选中的复选框项,而不能捕获复选框中的多个项。
echo '<td><input type="checkbox" value="'.$row['ProductStartDate'].':'.$row['ProductID'].':'.$row['ProductEndDate'].'" name="chk_export" /></td>';
$values = explode(":", $_POST['chk_export']);
$values[0],$values[1],$values[2]