2010-03-17 2 views
0

5 개의 확인란이 들어있는 양식이 있습니다. 사용자는 하나 이상의 체크 박스를 선택할 수 있습니다. 사용자는 2를 선택하고 3을 선택하지 않거나 4를 선택하고 1을 선택하지 않은 상태로두면이 경우 어떻게하면 폼 데이터를 데이터베이스에 삽입 할 수있는 PHP/mysql 코드를 작성할 수 있습니까?하나 이상의 확인란을 선택하지 않은 상태에서 여러 확인란의 값을 데이터베이스에 삽입하는 방법은 무엇입니까?

$checkbox_value = $_POST['i_agree']; 

mysql_query("INSERT INTO terms (user, pass, conditions) VALUES ('$user','$pass','$checkbox_value')"); 

을하지만 어떻게 여러 확인란 옵션이있을 때 나는 이것을 쓸 수 있습니다 만 그 중 하나 이상 확인됩니다 : 쉽게 그냥 하나 개의 선택으로, 나는 할 것인가?

쉼표로 구분 된 "태그"라고하는 하나의 열에 모두 삽입하고 싶습니다.

답변

1
<?php 
<body> 
<form action="checkbox.php" method="post"> 
<input type="checkbox" name="checkbox[]" value="a"> 
<input type="checkbox" name="checkbox[]" value="b"> 
<input type="checkbox" name="checkbox[]" value="c"> 
<input type="checkbox" name="checkbox[]" value="d"> 
<br> 
<br> 
<input type="submit" name="Submit" value="Submit"> 
</form> 
<? 

/* and in your checkbox.php you do this: */ 

if(isset($_POST['Submit'])) 
{ 
for ($i=0; $i<count($_POST['checkbox']);$i++) { 
$check_val .= $_POST['checkbox'][$i]; 
$check_val .=","; 
} 
} 
?> 

이제 $ check_val에 모든 체크 된 상자 값이 표시됩니다. 이제 데이터베이스에 넣을 수 있습니다.

+2

이런 식으로 여분의 쉼표를 넣으면 implode를 사용하는 것이 좋습니다. $ check_val = implode (',', $ _POST [ 'checkbox']); –

1
<html> 
<body> 
<form action="" method="post"> 
<table> 

<tr> 
    <td>Football</td><td><input name="region[]" type="checkbox" value="football"> 
    </td> 
</tr> 
<tr> 
    <td>Handball</td><td><input name="region[]" type="checkbox" value="handball"> 
    </td> 
</tr> 
<tr> 
    <td>Baseball</td><td><input name="region[]" type="checkbox" value="handball"> 
    </td> 
</tr> 
<tr><td><input type="submit" value="Submit"></td></tr> 
</table> 
</form> 
</body> 
</html> 

<?php 
include("connection.php"); 
    foreach($_POST['region'] as $value) 
{? 
<?php $sql = mysql_query("INSERT INTO sports SET region = '" . implode(',', $_POST['region']) . "'"); 
} 
?> 
관련 문제