0

ユーザーが 1 ~ 22 の数値を指定できる入力フィールドがあります。ここで、14 を入力するとします。次に、14 行を挿入します。これを行う最善の方法は何ですか?SQL または PHP を使用します。

$current_number_of_ranks = 7;
$number_of_ranks = 14;

INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)')

編集: また、現在 c_id 67 の 7 行があり、9 という数字を入力するとします。2 行だけ挿入したいです。

編集: これは単なる例です。複数の行を挿入する方法を理解することを除いて、すべてが機能しました。助けが必要なのは、複数の行を挿入する方法だけです。

4

2 に答える 2

2

MySQL の複数挿入を使用する必要があります。

$number_of_ranks = 14;

$value = implode(',', array_fill(0, $number_of_ranks, "(67, '(new rank)')"));
$query = 'INSERT INTO ranks (c_id, name) VALUES ' . $value;
// then execute the query 

の結果は次の$queryようになります。

"INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)'),(67, '(new rank)')"
于 2013-07-05T23:20:12.480 に答える
0

ランダムな挿入には十分な理由があると仮定して..

クエリをループに入れることができます

$number_of_ranks = 14;
for ($i=0; $i<$number_of_ranks; $i++) {
    mysqli_query("INSERT INTO ranks (c_id, name) VALUES (67, '(new rank)')");
    //use normal db class if you have written one of course
}
于 2013-07-05T23:13:44.023 に答える