从HTML选择框中填充MySQL表

时间:2013-08-15 09:24:13

标签: php html mysql

我自己使用表单在MySQL数据库中放置一些值。但是,我不知道如何使用选择框。

我有八个选择框我可以检查并根据它,我把它写到8个不同的表。因此,如果选中选项1,3和6,我必须写入这些表。

下面的代码将它输出到屏幕,但我的数组每次都看起来不同,因为我每次都有不同的选择。

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

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

对我来说,最好的方法是什么?将每个值放在变量中并使用if-else语句还是有更好的解决方案?

2 个答案:

答案 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;
        }
    }
?>

答案 1 :(得分: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;
  }