2012-06-17 3 views
0

철저히 살펴 봤지만 해결책을 찾지 못했습니다. (또는 내가 초보자 였기 때문에 깨닫지 못했습니다.) ... 여기 내 문제가 있습니다.각 필드를 별도의 필드에 입력하십시오.

내 테이블에는 username, want1, want2, want3, want4, want5의 6 개 필드가 있습니다. 내 양식에는 사용자 이름과 5 개의 희망 사항이 선택된 여러 SELECT 상자가 있습니다. 해당 사용자 이름과 해당 선택 사항을 테이블의 해당 "셀"에 레코드로 함께 삽입하려고합니다. 여기에 내 코드 (submit/$ _ POST 동작 용)가 있습니다 :

* 참고 : 여러 개의 SELECT 상자에 "wants []"라는 이름이 지정되어 배열임을 알고 있습니다.

<?php 
//variables 
$username = $_POST['username']; 
$want = $_POST['wants']; 
//connect 
mysql_connect("localhost", "root", "password") or die(mysql_error()); 
mysql_select_db("test") or die(mysql_error()); 
//insert 
mysql_query("INSERT INTO The_Table (username,want1,want2,want3,want4,want5) VALUES ('$username','$want[0]','$want[1]','$want[2]','$want[3]','$want[4]')"); 
?> 

테스트 할 때 버그/오류는 표시되지 않지만 테이블은 레코드로 채워지지 않습니다. 나는 코딩에 익숙하지 않다. 나는 사과한다. 바라건대 간단한 해결책이 있습니다. 어떤 도움이나 충고에 너무 감사드립니다 !!

+1

정지 mysql- * 함수로 새로운 코드를 만드는 대신 PDO 나 mysqli를 사용하십시오. –

+0

Stack Overflow에 오신 것을 환영합니다! 새로운 코드에 mysql_ * 함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 커뮤니티에서 [지원 중단 프로세스] (http://goo.gl/KJveJ)를 시작했습니다. [** 빨간색 상자 **] (http://goo.gl/GPmFd)를 참조하십시오. 대신 [prepared statements] (http://goo.gl/vn8zQ)에 대해 알아야하고 [PDO] (http://php.net/pdo) 또는 [MySQLi] (http://php.net/)를 사용해야합니다. mysqli). 결정할 수없는 경우 [이 기사] (http://goo.gl/3gqF9)를 선택하면 도움이됩니다. 당신이 배우기를 원한다면, 여기 [좋은 PDO 튜토리얼] (http://goo.gl/vFWnC)입니다. –

답변

1

내가 당신을 위해 작업을 희망이 코드를 사용해보십시오 ...

form.php

<form action="insert.php" method="post" name="form"> 
user_name : <input name="u_name" type="text" /><br /> 
wish 1 : <input name="wish_1" type="checkbox" value="1" /><br /> 
wish 2 : <input name="wish_2" type="checkbox" value="2"/><br /> 
wish 3 : <input name="wish_3" type="checkbox" value="3"/><br /> 
wish 4 : <input name="wish_4" type="checkbox" value="4"/><br /> 
wish 5 : <input name="wish_5" type="checkbox" value="5"/><br /> 
<input type="submit" /> 
</form> 
을 문제가 발생할 것

insert.php

<?php 
//variables 
$username = isset($_POST['u_name'])?$_POST['u_name']:''; 
$wish_1 = isset($_POST['wish_1'])?$_POST['wish_1']:''; 
$wish_2 = isset($_POST['wish_2'])?$_POST['wish_2']:''; 
$wish_3 = isset($_POST['wish_3'])?$_POST['wish_3']:''; 
$wish_4 = isset($_POST['wish_4'])?$_POST['wish_4']:''; 
$wish_5 = isset($_POST['wish_5'])?$_POST['wish_5']:''; 
//connect 
mysql_connect("localhost", "root", "password") or die(mysql_error()); 
mysql_select_db("test") or die(mysql_error()); 
//insert 
mysql_query("INSERT INTO The_Table (username,want1,want2,want3,want4,want5) 
VALUES ('".$username."','".$wish_1."','".$wish_2."' 
,'".$wish_3."','".$wish_4."','".$wish_5."')"); 
?> 
+0

제안 해 주셔서 감사 드리며 작동 할 것입니다. 그러나 (아마도 나는 이것을 말했어 야합니다) 결국 원하는 상자에 1000 개 이상의 옵션이있는 자동 채우기 선택 상자가 필요하며 최대 20 개까지 선택할 수 있습니다. 따라서 확인란이 자동으로 선택됩니다. 상황에 매우 이상적이다. 지금은 그냥 작게 유지하고 작동하면 그것을 추론 할 것입니다. 그래도 제안에 감사드립니다! 나는 해결책을 찾고있다. – dominicsvatos

0

설명에서 "wish"와 "wish1", "wish2"등의 이름을 지정한 다음 코드에서 [want]와 "want1, want2"라고합니다. 그 코드가 정말 방법 경우 ...

+0

모두 원합니다. 단지 잘못 입력 한 것뿐입니다. 머리를 주셔서 감사합니다! – dominicsvatos

관련 문제