2013-08-15 3 views
0

양식을 사용하여 MySQL 데이터베이스에 일부 값을 배치했습니다. 그러나 선택 상자를 사용하는 방법을 알지 못합니다.HTML 선택 상자에서 MySQL 테이블 채우기

나는 선택할 수있는 8 개의 선택 상자가 있으며이를 기반으로 8 가지 테이블에 씁니다. 따라서 옵션 1, 3 및 6을 검사하면 해당 테이블에 기록해야합니다.

아래 코드는 화면에 출력하지만 매번 다른 선택을하기 때문에 배열이 다르게 보입니다.

<?php 
$categorie= array_values($_POST['categorie']); 

foreach($categorie as $key => $value) 
{ 
    echo $value . "<br/>"; 
} 
?> 

나를 위해 가장 좋은 방법은 무엇입니까? 각 값을 변수에 넣고 if-else 문으로 작업하거나 더 나은 해결책이 있습니까?

답변

0

의 당신이 형태로 두 선택 상자 있다고 가정 해 봅시다 :

<form method="post" action="/file.php"> 
    <select name="fruit"> 
    <option value="apple">Apple</option> 
    </select> 
    <select name="vegetable"> 
    <option value="broccoli">Broccoli</option> 
    </select> 
</form> 

이 양식 게시물의 값을 다음과 같이 수있는 file.php하기 :

<?php 
foreach($_POST as $param => $value) 
    switch($param) { 
    case 'fruit': 
     // $value is your fruit 
     break; 
    case 'vegetable': 
     // $value is your vegetable 
     break; 
    } 
+0

감사합니다. 두 가지를 모두 사용해 보겠습니다. –

+0

답변은 거의 동일합니다. 이 경우 스위치 케이스를 사용하면 코드에 대한 명확한 개요를 유지하는 좋은 해결책이되며 새로운 양식 입력 요소에 "사례"를 더 추가하는 것이 쉽습니다. 행운을 빕니다! –

0

for 루프에서 switch 문을 사용합니다. 이 값은 숫자 여야하므로 $ _POST [ 'category']는 숫자 배열이어야합니다. 그런 다음이 작업을 수행 할 수 있습니다 :

<?php 
    $category= array_values($_POST['category']); 

    foreach($category as $key => $value){ 
     switch($value){ 
      case 1: mysqli_query("Insert to table 1 here"); break; 
      case 2: mysqli_query("Insert to table 2 here"); break; 
      case 3: mysqli_query("Insert to table 3 here"); break; 
      case 4: mysqli_query("Insert to table 4 here"); break; 
      case 5: mysqli_query("Insert to table 5 here"); break; 
      case 6: mysqli_query("Insert to table 6 here"); break; 
      case 7: mysqli_query("Insert to table 7 here"); break; 
      case 8: mysqli_query("Insert to table 8 here"); break; 
     } 
    } 
?>