0

タイトルについて申し訳ありません。私はそれを何と呼ぶべきか本当に知りませんでしたが、私のスクリプトで私を助けてくれることを願っています.

私が達成しようとしているのは(あらゆる種類の「プログラミング」で合計5時間未満の経験があるため、恐ろしいコーディングです)、1つのクエリをX回送信し、それらの新しく作成された行に新しいクエリを配置することです。

if(isset($_SESSION['email'])) { // IF LOGGED IN

$sql = mysql_query("SELECT max(ordrenr) FROM antalstabel") or die(mysql_error());
$maxordrenr = mysql_query($sql);
$nextnumber = $maxordrenr + 1;
$maxplusantal = $maxordrenr + $antal;
$antal = count($items); // COUNTS DIFFERENT ITEMS IN CART.

for ($i = $maxordrenr; $i <= $maxplusantal; $i++) {

    $sql = mysql_query("INSERT INTO antalstabel (ordrenr) VALUES ('$nextnumber')") or die(mysql_error());

}   

}

これは私の最初のクエリです。これが行うこと (または実行したいこと) は、テーブル「antalstabel」の最大 ID を取得し、+1 を追加してから、実行されるまで $items として定義されている特定の量をカウントすることです。 X 行。

ここでの私の最初の問題は、テーブルが 2 つのキー プライマリで構成されているという事実です。したがって、このようなクエリを返すとエラーが発生します。

2 番目の問題は、テーブル内の次の値を X 回挿入するのではなく、後で特定の ID を追加する必要があるという事実です。

私が最終的に達成しようとしているのは(このスクリプトだけでなく、これが現在の問題です)、次のようなものです。

ordrenr(key)varenr(key) antal
1           3           1
1           2           2
2           1           4
3           1           1
3           2           1
3           3           1

これは誰にとっても意味がありますか?また、これを行う私の方法が絶望的であるか、またはこのような結果になるための実行として使用するためのより良いアイデアがあるかどうかを誰か教えてもらえますか?

主キーを使用しない方がよいですか、それともどのように機能しますか?

これを読むために時間を割いてくれてありがとう:)

-ビクター

将来のために編集:

動作するようにスクリプトを次のように変更しました。

if(isset($_SESSION['email'])) { // IF LOGGED IN

$sql = mysql_query("SELECT * FROM antalstabel ORDER BY ordrenr DESC LIMIT 1") or die(mysql_error());
$row = mysql_fetch_assoc($sql);
$maxordrenr = $row['ordrenr'];
$nextnumber = $maxordrenr + 1;
$maxplusantal = $maxordrenr + $antal;
$antal = count($items); // COUNTS DIFFERENT ITEMS IN CART.

for ($i = $maxordrenr; $i <= $maxplusantal; $i++) {

$sql = mysql_query("INSERT INTO antalstabel (ordrenr, varenr) VALUES ('$nextnumber','1236')") or die(mysql_error());

}

4

1 に答える 1