-1

假设我有以下表格:

<form action="" method="post">
</BR>
<?php
// create two dropdowns with ajax
echo "<font id=\"categoria\"><select>\n";
echo "<option value='0'>Select the Firm</option> \n" ;
echo "</select></font>\n";
?>
<?php
echo "<font id=\"subcategoria\"><select>\n";
echo "<option value='0'>Select the Claims Hub</option> \n" ;
echo "</select></font>\n";
?>

<form method="post" align= "right">
<table >

    <tr><td>&nbsp;</td>
    <tr>
         <td style="text-align: left; ">Criminal  </td>
         <td align="left" >
            <input type="checkbox" name="mattertype" value="1" />
         </td>
    </tr>   
    <tr><td>&nbsp;</td>
    <tr>
         <td style="text-align: left; ">Labour  </td>
         <td align="left" >
            <input type="checkbox" name="mattertype" value="1" />
         </td>
    </tr>   
    <tr><td>&nbsp;</td>
    <tr>
         <td style="text-align: left; ">Civil  </td>
         <td align="left" >
            <input type="checkbox" name="mattertype" value="1" />
         </td>
    </tr>   
    <tr><td>&nbsp;</td>
     <tr>
         <td style="text-align: left; ">Active  </td>
         <td align="left" >
            <input type="checkbox" name="active" value="1" />
         </td>
    </tr>   
    <tr><td>&nbsp;</td>
    <tr>
        <td>&nbsp;</td>
        <td><input type="submit" name="submit" value="Add" align= "right" /></td>
    </tr>

</table>

我将如何编写 php 代码来插入以下信息作为所有选中复选框的新记录?例如,我检查了 Civil、Labor 和 Active。我现在想要必须插入才能读取的第一条记录

Firm Area Mattertype Active(我的 sql 表)

类别值 子类别值 Civl 1
类别值 子类别值 劳工 1

如果勾选了任何或所有的民事、劳工或刑事复选框,则必须插入类别的值、子类别的值、第一个勾选的复选框(物质类型),如果勾选了 active 则为 active 的 1。

然后再次记录第二个类别的值,子类别的值,第二个勾选的复选框(mattertype),如果 active 被勾选,则 1 表示 active 。

等等。我希望这是有道理的。

4

3 回答 3

1

首先更改 mattertype 复选框以使用数组作为值,并将值更改为每个唯一的值(1 表示刑事,2 表示劳工,3 表示民事)

<input type="checkbox" name="mattertype[]" value="1" />
<input type="checkbox" name="mattertype[]" value="2" />
<input type="checkbox" name="mattertype[]" value="3" />

PHP

$categoria = $_POST['categoria'];
$subcategoria = $_POST['subcategoria'];
$mattertypes = $_POST['mattertype'];
$active = $_POST['active'] == 1 ? 1 : 0;

//$matertypes will be an array so loop over it
foreach( $mattertypes as $type ) {
  switch( $type ) {
     case '1':
       $typename = "Criminal";
     break;
     case '2':
       $typename = "Labour";
     break;
     case '3':
       $typename = "Civil";
     break;
  }
  $SQL = "INSERT into mytable (categoria,subcategoria,mattertype,active) VALUES('$categoria','$subcategoria','$typename','$active')";

  //Do the call to database with the query.
}

当然,在将数据放入数据库之前对其进行清理。

于 2013-08-21T10:03:15.343 回答
0

将复选框名称设为 name="mattertype[]"并更改值。

然后发布为$_POST['mattertype'];

于 2013-08-21T10:23:23.697 回答
0

在 HTML 中

  <input type="checkbox" name="mattertype[]" value="1" />

在php中

//get mattertype which are checked by

$_POST['mattertype'];// this is come as array then use according to your requirement
于 2013-08-21T09:56:20.353 回答