Php 使用无线电组进行多个插入

Php 使用无线电组进行多个插入,php,mysql,Php,Mysql,我有一个表格,它有三个部分;一级、二级和三级。每个部分包含四个文本区域和一个单选组,每个文本区域旁边都有单选按钮: <form action="" method="post" name="form" id="form" onSubmit="return validate();"> <table width="123%" border="0" cellpadding="5"> <th colspan="6"> <di

我有一个表格,它有三个部分;一级、二级和三级。每个部分包含四个文本区域和一个单选组,每个文本区域旁边都有单选按钮:

  <form action="" method="post" name="form" id="form" onSubmit="return validate();">
    <table width="123%" border="0" cellpadding="5">
      <th colspan="6">
        <div align="center"><strong>Level 1</strong></div>      </th>
      <tr>
        <td valign="top"><strong>Pathway</strong></td>
        <td colspan="2"><strong>Blocking or Accepting Comment</strong></td>
        <td valign="top"><strong>Appropriate</strong></td>
      </tr>
      <tr>
        <td width="26%" valign="top"><strong>Pathway 1:</strong> No action - See again</td>
        <td colspan="2"><div class="required">
            <textarea name="l1_p1_comment" id="l1_p1_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td width="18%" valign="top"><p>
            <input type="radio" name="l1_allowed" value="1" id="l1_allowed_0" />
        </td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 2:</strong> See again</td>
        <td colspan="2"><div class="required">
            <textarea name="l1_p2_comment" id="l1_p2_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l1_allowed" value="1" id="l1_allowed_1" /></td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 3:</strong> Refer to ED</td>
        <td colspan="2"><div class="required">
            <textarea name="l1_p3_comment" id="l1_p3_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l1_allowed" value="1" id="l1_allowed_2" /></td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 4:</strong> Refer to Specialist</td>
        <td colspan="2"><div class="required">
            <textarea name="l1_p4_comment" id="l1_p4_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l1_allowed" value="1" id="l1_allowed_3" /></td>
      </tr>
      <tr>
        <td valign="top">&nbsp;</td>
        <td colspan="2">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
    <th colspan="6">
        <div align="center"><strong>Level 2</strong></div>      </th>
      <tr>
        <td valign="top"><strong>Pathway</strong></td>
        <td colspan="2"><strong>Blocking or Accepting Comment</strong></td>
        <td valign="top"><strong>Appropriate</strong></td>
      </tr>
      <tr>
        <td width="26%" valign="top"><strong>Pathway 1:</strong> No action - See again</td>
        <td colspan="2"><div class="required">
            <textarea name="l2_p1_comment" id="l2_p1_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td width="18%" valign="top"><p>
            <input type="radio" name="l2_allowed" value="1" id="l2_allowed_0" />
        </td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 2:</strong> See again</td>
        <td colspan="2"><div class="required">
            <textarea name="l2_p2_comment" id="l2_p2_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l2_allowed" value="1" id="l2_allowed_1" /></td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 3:</strong> Refer to ED</td>
        <td colspan="2"><div class="required">
            <textarea name="l2_p3_comment" id="l2_p3_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l2_allowed" value="1" id="l2_allowed_2" /></td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 4:</strong> Refer to Specialist</td>
        <td colspan="2"><div class="required">
            <textarea name="l2_p4_comment" id="l2_p4_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l2_allowed" value="1" id="l2_allowed_3" /></td>
      </tr>
      <tr>
        <td valign="top">&nbsp;</td>
        <td colspan="2">&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
          <th colspan="6">
        <div align="center"><strong>Level 3</strong></div>      </th>
      <tr>
        <td valign="top"><strong>Pathway</strong></td>
        <td colspan="2"><strong>Blocking or Accepting Comment</strong></td>
        <td valign="top"><strong>Appropriate</strong></td>
      </tr>
      <tr>
        <td width="26%" valign="top"><strong>Pathway 1:</strong> No action - See again</td>
        <td colspan="2"><div class="required">
            <textarea name="l3_p1_comment" id="l3_p1_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td width="18%" valign="top"><p>
            <input type="radio" name="l3_allowed" value="1" id="l3_allowed_0" />
        </td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 2:</strong> See again</td>
        <td colspan="2"><div class="required">
            <textarea name="l3_p2_comment" id="l3_p2_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l3_allowed" value="1" id="l3_allowed_1" /></td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 3:</strong> Refer to ED</td>
        <td colspan="2"><div class="required">
            <textarea name="l3_p3_comment" id="l3_p3_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l3_allowed" value="1" id="l3_allowed_2" /></td>
      </tr>
      <tr>
        <td valign="top"><strong>Pathway 4:</strong> Refer to Specialist</td>
        <td colspan="2"><div class="required">
            <textarea name="l3_p4_comment" id="l3_p4_comment" cols="35" rows="5"></textarea>
          </div></td>
        <td valign="top"><input type="radio" name="l3_allowed" value="1" id="l3_allowed_3" /></td>
      </tr>
      <tr>
        <td>&nbsp;</td>
        <td colspan="2"><input type="submit" name="submit" id="submit" value="Create Pathways for All Levels" /></td>
        <td>&nbsp;</td>
      </tr>
    </table>
  </form>
现在,我想让三个部分(级别1、级别2和级别3)中每个部分的无线电组提交所选无线电的值“1”(即允许),每个组中的其他无线电从以下位置提交“0”:

$l1_allowed = $_POST['l1_allowed'];
$l2_allowed = $_POST['l2_allowed'];
$l3_allowed = $_POST['l3_allowed'];
有什么建议吗?

首先

然后将处理表单数据的代码放在单独的页面中,如submit_action.php。 并尽量避免使用
if(isset($\u POST['submit']){
。相反:

if(isset($_POST['input1'])) {
$input1 = ($_POST['input1']);   
} else {
$input1 = "None";
}
if(isset($_POST['input2'])) {
$input1 = ($_POST['input2']);   
} else {
$input1 = "None";
}

<form action="submit_action.php" method="post" name="aFormName" id="form">

不管怎么说,你指的是什么?我在你的问题中没有看到任何页面链接。什么是validate()?

好的,我认为这对于多个插入来说太难了,所以将这三个区域分成不同的形式并使用:

$l1_allowed = intval($_POST['l1_allowed']);
$l2_allowed = intval($_POST['l2_allowed']);
$l3_allowed = intval($_POST['l3_allowed']);


if(isset($_POST['pathways_level_1'])){ 

$pathway_comment_l1 = array();

foreach($_POST['comment_l1'] as $comment_l1) {
    $pathway_comment_l1[]= mysql_real_escape_string($comment_l1);
}

for($i=0, $count = count($pathway_comment_l1);$i<$count;$i++) {
    $comment_l1 = $pathway_comment_l1[$i];
    $query_level_1 = sprintf(
        "INSERT INTO pathway (             
           pathway_pk,
           case_fk,
           level,
           pathway_allowed,
           comment
        ) VALUES (
           '',
           '$case_pk',
           '1',
           '%s',
           '$comment_l1')", $l1_allowed === $i ? 'y' : 'n');

       $result_level_1 = mysql_query($query_level_1, $connection) or die(mysql_error());
}
if($result_level_1){
$message = "- The pathways for level 1 have been created.";
}
}
?>
$l1\u allowed=intval($\u POST['l1\u allowed']);
$l2_allowed=intval($_POST['l2_allowed']);
$l3_allowed=intval($u POST['l3_allowed']);
如果(isset($_POST['pathways\u level\u 1']){
$PATH_comment_l1=array();
foreach($\u POST['comment\u l1']作为$comment\u l1){
$path_comment_l1[]=mysql_real_escape_字符串($comment_l1);
}
对于($i=0,$count=count($pathway_comment_l1);$i

谢谢,但这并没有回答我的问题。顺便说一句,表单提交到当前页面…插入操作没有问题,只需要关于如何处理多个插入上的无线电错误的建议…validate()是验证表单的js scipt…不包括在上述代码中,因为这与此无关。
$query="INSERT INTO $tbl_name(col1, col2)VALUES('$input1', '$input2')";
$l1_allowed = intval($_POST['l1_allowed']);
$l2_allowed = intval($_POST['l2_allowed']);
$l3_allowed = intval($_POST['l3_allowed']);


if(isset($_POST['pathways_level_1'])){ 

$pathway_comment_l1 = array();

foreach($_POST['comment_l1'] as $comment_l1) {
    $pathway_comment_l1[]= mysql_real_escape_string($comment_l1);
}

for($i=0, $count = count($pathway_comment_l1);$i<$count;$i++) {
    $comment_l1 = $pathway_comment_l1[$i];
    $query_level_1 = sprintf(
        "INSERT INTO pathway (             
           pathway_pk,
           case_fk,
           level,
           pathway_allowed,
           comment
        ) VALUES (
           '',
           '$case_pk',
           '1',
           '%s',
           '$comment_l1')", $l1_allowed === $i ? 'y' : 'n');

       $result_level_1 = mysql_query($query_level_1, $connection) or die(mysql_error());
}
if($result_level_1){
$message = "- The pathways for level 1 have been created.";
}
}
?>