2012-12-18 24 views
2

我有简单的形式包含四个textareas和每个textarea旁边有一个单选按钮的无线电组。无线电组和多个插入

$pathway = $_POST['pathway']; 
$pathway_comment = $_POST['pathway_comment']; 
if(isset($_POST['define_pathways'])){ 
    for($i=0, $count = count($pathway_comment);$i<$count;$i++) { 
     $comment = $pathway_comment[$i]; 
     $query_level_1 = "INSERT INTO pathway (pathway_pk,case_fk,level,pathway_allowed,comment) 
      VALUES ('','$vcase','1','$pathway','$comment')"; 
     $result_level_1 = mysql_query($query_level_1, $connection) or die(mysql_error()); 
    } 

表结构:

`pathway_pk` int(4) NOT NULL AUTO_INCREMENT, 
    `case_fk` int(3) NOT NULL, 
    `level` int(1) NOT NULL, 
    `pathway_allowed` char(1) NOT NULL DEFAULT 'n', 
    `comment` text NOT NULL, 

<form action="" method="post" id="form"> 
<table width="35%" border="0" align="left" cellpadding="5"> 
    <tr> 
    <td valign="top">Pathway</td> 
    <td valign="top">Allowed 
    <br />(One only)</td> 
    <td valign="top">Comment</td> 
    </tr> 
    <tr> 
    <td valign="top">2. No action. See again</td> 
    <td valign="top"><input type="radio" name="pathway" value="y" id="pathway_1" /></td> 
    <td valign="top"><textarea name="pathway_comment[]" cols="45" rows="5"></textarea></td> 
    </tr> 
    <tr> 
    <td valign="top">2. See again</td> 
    <td valign="top"><input type="radio" name="pathway" value="y" id="pathway_2" /></td> 
    <td valign="top"><textarea name="pathway_comment[]" cols="45" rows="5"></textarea></td> 
    </tr> 
    <tr> 
    <td valign="top">3. Refer to ED</td> 
    <td valign="top"> <input type="radio" name="pathway" value="y" id="pathway_3" /></td> 
    <td valign="top"><textarea name="pathway_comment[]" cols="45" rows="5"></textarea></td> 
    </tr> 
    <tr> 
    <td valign="top">4. Refer to specialist</td> 
    <td valign="top"><input type="radio" name="pathway" value="y" id="pathway_4" /></td> 
    <td valign="top"><textarea name="pathway_comment[]" cols="45" rows="5"></textarea></td> 
    </tr> 
    <tr> 
    <td colspan="3" valign="top"><input type="submit" name="define_pathways" id="submit" value="Add Pathways" /></td> 
    </tr> 
</table> 
</form> 

每个textarea的内容($ _POST [ 'pathway_comment'])被通过环形插入到MySQL表作为单独的记录

现在插入,我想设置pathway_allowed四个记录中的一个记录为'y',而其他记录保留默认'n'。我怎样才能做到这一点??

回答

2

您必须将广播框的值属性从'y'更改为'0','1','2','3'。

那么你应该改变PHP代码:

$pathway = intval($_POST['pathway']); 

$pathway_comment = array(); 
foreach($_POST['pathway_comment'] as $comment) { 
    $pathway_comment []= mysql_real_escape_string($comment); 
} 
if(isset($_POST['define_pathways'])){ 
for($i=0, $count = count($pathway_comment);$i<$count;$i++) { 
    $comment = $pathway_comment[$i]; 
    $query_level_1 = sprintf(
     "INSERT INTO pathway (    
      pathway_pk, 
      case_fk, 
      level, 
      pathway_allowed, 
      comment 
     ) VALUES (
      '', 
      '$vcase', 
      '1', 
      '%s', 
      '$comment')", $pathway === $i ? 'y' : 'n'); 

     $result_level_1 = mysql_query($query_level_1, $connection) or die(mysql_error()); 
    } 
+0

谢谢,但似乎是在 '$评论')”,$途径=== $ I 'Y','语法错误? n'); – IlludiumPu36

+0

需要修正的是? – hek2mgl

+0

语法错误消失了,但现在没有发生插入: – IlludiumPu36