对不起标题,我真的不知道我应该怎么称呼它,但希望你能在我的剧本上帮助我。
我想要实现的目标(我对任何类型的“编程”的总经验不到 5 小时,因此是可怕的编码)是发送一个查询 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 行。
我在这里的第一个问题是,我的表由两个主要的键组成,因此返回这样的查询会导致错误,因为在一次返回后,这两行将是相同的并且不会执行。
第二个问题是表中的下一个值不应该在彼此之后插入 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());
}