0

基本的に私はこれを私のテーブルに置きたかった、

--------------------------------------------
|   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);
      }
 }

問題は、最初にチェックされたチェックボックスだけが挿入されるだけであるということです。問題は何だと思われますか、それとも他の解決策がありますか?助けてください。

4

1 に答える 1

0

トリムは文字列内のすべてのコンマ「、」を削除し、「、」で爆発します。どのように何かを返しますか????? $_POST['rp_product']は配列を直接返します。単純にforeachを使用して、配列を参照して挿入できます。

于 2012-04-14T13:20:38.930 に答える