2010-02-22 26 views
8
<input type="checkbox" class='form' name="checkbox_1" /> 

<input type="checkbox" class='form' name="checkbox_2" /> 

<input type="checkbox" class='form' name="checkbox_3" /> 

......... 

<input type="checkbox" class='form' name="checkbox_10" /> 

Từ đã được gửi bằng phương thức "POST". xác định, hộp kiểm nào và viết số của chúng theo thứ tự tăng dần. Tách tất cả các số bằng dấu cách (không phải dòng mới) và không sử dụng bất kỳ định dạng HTML nào.Cách gửi giá trị hộp kiểm bằng phương thức bài đăng PHP

Ví dụ:

Nếu chọn hộp kiểm 3, 5 và 10.

Ouput sẽ là:

+0

Vì vậy, vấn đề ở đây là gì? – anthares

+0

Vậy vấn đề là gì? Xem chi tiết những gì bạn muốn có. – Kangkan

+0

Có lý do gì khiến bạn không chấp nhận câu trả lời ở đây không? – tw16

Trả lời

21

Thay đổi đánh dấu tới một cái gì đó như

<input type="checkbox" class='form' value="1" name="checkbox[]" /> 
<input type="checkbox" class='form' value="2" name="checkbox[]" /> 
<input type="checkbox" class='form' value="3" name="checkbox[]" /> 

và để có được v alues ​​nộp, sử dụng một vòng lặp đơn giản

foreach($_POST['checkbox'] as $checkbox){ 
    echo $checkbox . ' '; 
} 
+8

if (isset ($ _ POST ['checkbox']) && is_array ($ _ POST ['checkbox'])) { echo implode ('', $ _POST ['checkbox']); } – janmoesen

+0

Bạn đang sử dụng hộp kiểm biến php [] ở dạng HTML đơn giản như thế nào? –

5

lặp qua mảng $_POST và sử dụng preg_match() để kéo ra số nếu nó bắt đầu với "checkbox_":

$checked = array(); 
foreach ($_POST as $k => $v) { 
    if (preg_match('|^checkbox_(\d+)$!', $k, $matches) { 
    $checked[] = $matches[1]; 
    } 
} 
echo implode(' ', $matches); 
+1

Những gì vsr nói có vẻ thích hợp hơn, bằng cách này bạn không phải tìm kiếm một trường bằng cách sử dụng regexes. – azkotoki

4
<?php 
$checked = array(); 

foreach ($_POST as $k => $v) { 
$subject = $k; 
$pattern = '/^checkbox_(\d+)$/'; 
    if (preg_match($pattern, $subject, $matches)) 
    { 
    $checked[] = $matches[1]; 
    } 
} 

asort($checked); 

foreach ($checked as $key=>$value) 
echo $value .' '; 
?> 
0

Đối Mỗi hồi giá trị Checkbox bạn có thể sử dụng phương pháp dưới đây để có được giá trị từ hộp kiểm của bạn được kiểm tra hay không ....

Trong biểu mẫu của tôi Trang (thứ hai đến chủ nhật)

<input type="checkbox" name="checked[]" class="onoffswitch-checkbox" id="mononoffswitch" value="Mon" checked> 

Trong PHP Mã My

function IsChecked($chkname,$value) 
{ 
    if(!empty($_POST[$chkname])) 
    { 
     foreach($_POST[$chkname] as $chkval) 
     { 
      if($chkval == $value) 
      { 
       return true; 
      } 
     } 
    } 
    return false; 
} 

if(IsChecked('checked','Mon')) 
{ 
    $checkedMon = "Y"; 

}else { 
    $checkedMon = "N"; 

} 

if(IsChecked('checked','Tue')) 
{ 
    $checkedTue = "Y"; 

}else { 
    $checkedTue = "N"; 

} 

if(IsChecked('checked','Wed')) 
{ 
    $checkedWed = "Y"; 

}else { 
    $checkedWed = "N"; 

} 

if(IsChecked('checked','Thur')) 
{ 
    $checkedThur = "Y"; 

}else { 
    $checkedThur = "N"; 

} 

if(IsChecked('checked','Fri')) 
{ 
    $checkedFri = "Y"; 

}else { 
    $checkedFri = "N"; 

} 

if(IsChecked('checked','Sat')) 
{ 
    $checkedSat = "Y"; 

}else { 
    $checkedSat = "N"; 

} 

if(IsChecked('checked','Sun')) 
{ 
    $checkedSun = "Y"; 

}else { 
    $checkedSun = "N"; 

} 

Bây giờ bạn có thể nhận được những giá trị khác nhau và có thể sử dụng để Insert Into của bạn tuyên bố ...

Giống như Mã

$addweekdays = mysqli_query($conn, "INSERT INTO weekdays(id,monday,tuesday,wednesday,thursday,friday,saturday,sunday) VALUES('$Id', '$checkedMon', '$checkedTue', '$checkedWed', '$checkedThur','$checkedFri','$checkedSat','$checkedSun')") ... 
11

HTML này :: đang

<input type="checkbox" name="arrayValue[]" value="value1" > value1 <br /> 
    <input type="checkbox" name="arrayValue[]" value="value2" > value2 <br /> 
    <input type="checkbox" name="arrayValue[]" value="value3" > value3 <br /> 
    <input type="checkbox" name="arrayValue[]" value="value4" > value4 <br /> 

php ::

$checkBoxValue = join(", ", $_POST['arrayValue']); // here first (,) is user-define 
                // means, you can change it whatever 
               // you want, even if it can be (space) or others 

bây giờ bạn nhận được toàn bộ giá trị 'hộp kiểm' trong một var iable

0
$checked = array(); 

foreach ($_POST as $k => $v) { 
$subject = $k; 
$pattern = '/^checkbox_(\d+)$/'; 
    if (preg_match($pattern, $subject, $matches)) 
    { 
    $checked[] = $matches[1]; 
    } 
} 

asort($checked); 

foreach ($checked as $key=>$value) 
echo $value .' '; 
0

lấy tên cho hộp kiểm của bạn là name="checkbox[]" và sử dụng cùng tên cho tất cả hộp kiểm của bạn. Sau khi gửi biểu mẫu của bạn, hãy nhận các giá trị của hộp kiểm đã chọn bằng cách sử dụng mã sau:

<?php 
$chk=""; 
foreach($_POST['checkbox'] as $checkbox) 
{ 
$chk=$chk.$checkbox; 
} 
echo $chk; 
?> 
Các vấn đề liên quan