8

チェックボックスと値のテーブルがあります。ユーザーがチェックボックスを選択すると、簡単にするためにcheckedHWという配列のIDの値を選択します。これは、コードのようになります。

$ids = implode(',',arrayofids);

$sql = "insert into table(id, type) values($ids,type);
$db->query($sql);

テスト用のエコークエリ:

"insert into table('id1,id2','type')

このクエリをループすると、仮想的にこれを実行できると思いました。

"insert into table('id1','type');"

"insert into table('id2','type');"

しかし、私はどのように行うべきか正確にはわかりません、どんな助けも素晴らしいでしょう:)

私は実際にそれを使用して解決しました:

for($i=0;$i<count(arrayofids); $i++){
$sql = "insert into table(id,type) values(array[$i], 'type'";
$db->query($sql);}

私はそれが誰かを助けてくれることを願っていますそして助けてくれてありがとう!

4

3 に答える 3

7

あなたはこのようなことをすることができます:

$base = 'INSERT INTO table (id, type) VALUES (';
$array = array(1, 2, 3, 4);
$values = implode(", 'type'), (", $array);
$query = $base . $values . ", 'type')";

$db->query($query);

これが提出されるものです:

INSERT INTO table(id、type)VALUES(1、'type')、(2、'type')、(3、'type')、(4、'type')
于 2012-09-14T19:18:46.073 に答える
0

両方のクエリは完全に異なります

insert into table('id1,id2','type')単一行を挿入します

id1、id2 | タイプ

一方

insert into table('id1','type');"

insert into table('id2','type');"

2行を挿入します

id1 | タイプ
id2| タイプ

したがって、id列がintタイプの場合、最初のクエリを実行することはできません

于 2012-09-14T19:16:12.560 に答える
0

一連のチェックボックスがあり、テーブルに値を挿入する場合は、次のようにループできます。

<?php

$values = array();

foreach ($_POST['field_name'] as $i => $value) {
    $values[] = sprintf('(%d)', $value);
}

$values = implode(',', $values);

$sql = "INSERT INTO `table_name` (`column_name`) VALUES $values";

これにより、次のようなSQLクエリが得られます。

INSERT INTO `table_name` (`column_name`) VALUES (1),(2),(3),(4)

この助けを願っています。

于 2012-09-14T19:18:09.507 に答える