如何将多个值传递给已包含值的复选框输入的 value 属性。我想将 $row['ProductStartDate']
和 $row['ProductEndDate']
传递给复选框 "check[]"
及其自己的值$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);
}
最佳答案
您可以尝试以下方法
1)只需将您需要的值与任何分隔符连接起来即可
echo '<td><input type="checkbox" value="'.$row['ProductStartDate'].':'.$row['ProductID'].':'.$row['ProductEndDate'].'" name="chk_export" /></td>';
2) 在发布数据时隔离您的值(value)观
$values = explode(":", $_POST['chk_export']);
$values[0],$values[1],$values[2]
将具有所需的值
或者您可以在隐藏字段中设置开始日期和结束日期,并在表单发布时获取它们
关于php - 将多个值传递到复选框的 'value' 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45052421/