我有一個帶有4個或更多複選框的表單。表單由while循環創建並具有數據庫表中的數據。每個複選框代表一個禮物,每個禮物都有一個唯一的id id1 = 1,id2 = 2,id3 = 3,...)在數據庫中。所以用戶可以選擇一個或多個禮物,然後點擊提交按鈕來存儲他的選擇。所以我需要php implode()
函數來獲取字符串的選擇例如,如果他選擇第一個和第二個複選框/禮物,則必須存儲的值應該是1, 2
。而不是我總是有不同的存儲數據,並且與用戶選擇不匹配。任何想法?使用php爆炸函數將數據存儲在數據庫表中
形式:
<form method='post' action='insert.php'>
.
.
.
while($row_select4 = $stmt_select4->fetch(PDO::FETCH_ASSOC)){
if($form_points>=$row_select4['points']) {
$points = $row_select4['points'];
echo '
<div>
<div class="feed-activity-list"><div style="border: 0.5px solid green; border-right-style:none;" class="input-group m-b"><span class="input-group-addon">
<input type="checkbox" onclick="enable_form();" id="checkbox" name="opt[]" value="'.$points.'"></span>
<input type="hidden" name="opt2[]" value="'.$row_select4['id'].'">
<div class="feed-element">
<a href="profile.html" class="pull-left">
<img alt="image" class="img-circle" src="'. $row_select4['image_url']. '">
</a>';
?>
<button type="submit" id="submit" name="eksasrgirwsh" class="btn btn-w-m btn-primary">ΕΞΑΡΓΥΡΩΣΗ</button>
</form>
而且(插入表前):
if(isset($_POST['opt2'])){
foreach ($_POST['opt2'] as $value) {
$gift = $_POST['opt2'];
$sliced = array_slice($gift, 0, -1);
$gift_id = implode(", ", $sliced);
}
這是我用它來獲得所選擇的gift_ids創造
表更新他們的串:
<input type="hidden" disabled="disabled" name="opt2[]" value="'.$row_select4['id'].'">
代碼越來越gift_ids:
foreach ($_POST['opt2'] as $value) {
$gift = $_POST['opt2'];
$gift_id = implode(", ", $gift);
}
您爲什麼使用foreach處理implode? –
對不起,我沒有注意到你的問題。我需要implode獲得字符串的禮物ID並將字符串存儲到表格中 – platanas20