将数组数据插入mysql表

时间:2012-04-14 12:41:35

标签: php mysql checkbox

基本上我想把它放在我的桌子上,

--------------------------------------------
|   products_id   |   related_products_ids |
| ------------------------------------------
|    1            |   2                    |
| ------------------------------------------
|    1            |   3                    |
| ------------------------------------------
|    1            |   4                    |
--------------------------------------------

我有复选框,

<input value="1" type="checkbox" name="rp_product[]" id="in-category1"> Microsoft IntelliMouse Pro 1
<input value="2" type="checkbox" name="rp_product[]" id="in-category2"> Microsoft IntelliMouse Pro 2
<input value="3" type="checkbox" name="rp_product[]" id="in-category3"> Microsoft IntelliMouse Pro 3
<input value="3" type="checkbox" name="rp_product[]" id="in-category3"> Microsoft IntelliMouse Pro 4

我想要的是通过products_id将选中的复选框插入表格。

我使用这个PHP代码,

for ($i=0; $i<count($_POST['rp_product']); $i++)
 {
  $check_val1 .= $_POST['rp_product'][$i] .",";
 }
$check_val = trim($check_val1, ','); 
unset($check_val1);

$insert_rp_ids1 = explode(',', $check_val);

 for($i=0;$i<count($insert_rp_ids1);$i++) {
   $usetag = mysql_real_escape_string(stripslashes(ltrim(rtrim($insert_rp_ids1[$i]))));
      if($usetag == "") continue;
        $array1 = array('products_id' => (int)$products_id,
                     'related_products_ids' => $usetag);
        $wpdb->insert(TABLE_RELATED_PRODUCTS, $array1);
      }
 }

问题是,只插入了第一个选中的复选框。什么似乎是问题或你有其他解决方案?请帮忙。

1 个答案:

答案 0 :(得分:0)

trim将删除所有逗号&#39;,&#39;在字符串中,你正在爆炸&#39;,&#39;它将如何返回任何东西????? $ _POST [&#39; rp_product&#39;]会直接返回一个数组。您只需使用foreach浏览数组并插入即可。