如何将多个值传递给已包含值的复选框输入的value属性。我想将$row['ProductStartDate']
和$row['ProductEndDate']
传递给复选框"check[]"
以及它自己的值$row['ProductID'
]。这样,对于从复选框中选中的每个ProductEndDate
,都会发生ProductStartDate
和ProductID
之间的计算。
$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);
}
答案 0 :(得分:1)
您可以尝试以下方法
1)只需使用任何分隔符
连接所需的值echo '<td><input type="checkbox" value="'.$row['ProductStartDate'].':'.$row['ProductID'].':'.$row['ProductEndDate'].'" name="chk_export" /></td>';
2)在发布数据时将您的值分开
$values = explode(":", $_POST['chk_export']);
$values[0],$values[1],$values[2]
将具有所需的值
或者您可以在隐藏字段中设置开始日期和结束日期,并在表单发布时获取它们
答案 1 :(得分:0)
$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 '<td><input type="checkbox" name="startDates[]" value="'.$row['ProductStartDate'] .'" ></td>';
echo '<td><input type="checkbox" name="endDates[]" value="'.$row['ProductEndDate'] .'" ></td>';
echo '</tr>';
}
$checkbox1 = $_POST['check'];
for ($i=0; $i<sizeof($checkbox1); $i++) {
$date1 = strtotime($_POST['startDates'][$i]);
$date2 = strtotime($_POST['endDates'][$i]);
// 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_ *”函数,请参阅上面的评论以回答您的问题。