将表A中的复选框选定数据插入表B中

时间:2010-02-26 14:54:05

标签: php html mysql checkbox

我有一张包含数千条记录的表A.在每个显示的页面上,仅显示20行,包含以下字段:

check
last_name 
first_name 
gr 
eth 
sex 
id_num (a unique value)
reason 
start_date

“check”字段表示用户可以勾选的复选框。在20页记录的每页底部是选择按钮。我想从用户从表A中选择的行中获取唯一的“id_num”,并将它们插入到表B中。(方法是发布的。)

复选框输入代码:

$html = <input type='checkbox' name='checkbox[]'
                      id = '' value='<?PHP echo $aRecords [ \"id_num\" ]; ?>' />" ;

用户选择页面上的行后的SQL:

include_once "db_login.php" ;
if ( isset ( $_POST [ checkbox] ) ) 
   { 
      foreach ( $_POST [ 'checkbox' ] as $checkbox )
         {
            $sql = "INSERT INTO sap_id_select ( select_id )
                    VALUES ( '<???>' ) " ;
            mysql_query ( $sql ) or ( "Error " . mysql_error () ) ;
         }
   }

除了许多其他事情外,还尝试过:

foreach ( $_POST [ 'checkbox' ] as $checkbox )
         {
            $id_list = implode(',',$_POST['checkbox']);
            $sql = "INSERT INTO sap_id_select ( select_id )
                    VALUES ( '{$id_list}' ) " ;
         }

如何将id_num字段输入$_POST数组,然后输入表B?

3 个答案:

答案 0 :(得分:1)

 $html = <input type='checkbox' name='checkbox[]'
                  id = '' value='<?PHP echo $aRecords [ \"id_num\" ]; ?>' />" ;

你错过了开放的报价不是吗?所以上面没有给你一个错误,这意味着你的开头报价高于这一行,换句话说,它都搞砸了。使用为您的语法着色的编辑器。

假设你想写

 $html = "<input type='checkbox' name='checkbox[]'
                  id = '' value='<?PHP echo $aRecords [ \"id_num\" ]; ?>' />" ;

然后php会解释&lt;?PHP位,这可以解释你所看到的。你只想:

 $html = "<input type='checkbox' name='checkbox[]'
                  id = '' value='".$aRecords["id_num"]."' />" ;

或者你写的是不是在你的代码的php执行部分,然后我所能建议的是把&lt;?php而不是&?; PHP但我很怀疑它是什么导致问题。我的赌注就在上面。

答案 1 :(得分:0)

看起来你已经设置好了。尝试

  $sql = "INSERT INTO sap_id_select ( select_id )
                VALUES ( '.$checkbox.' ) " ;

也许你可以说你是否有特定的错误。

答案 2 :(得分:0)

Vincent - 我将html复选框输入代码更改为

$html .= "<input type='checkbox' name='checkbox[]' id = ''
            value='$aRecords ['id_num']' />" ;

假设这是正确的(?),我的SQL INSERT语句将INSERT唯一记录号(id_num)插入到表B中?当然,以下SQL不起作用。

include_once "db_login.php" ;
if ( isset ( $_POST [ checkbox] ) ) 
   {  
      foreach ( $_POST [ 'checkbox' ] as $checkbox )
         {  
            $sql = "INSERT INTO sap_id_select ( selected_id )
                    VALUES ( '{ $_POST [ checkbox ]}'
                           ) " ;
            mysql_query ( $sql ) or ( "Error " . mysql_error () ) ;
         }
   }