抱歉标题,我真的不知道我应该怎么称呼它,但希望你能用我的剧本来帮助我。
我想要实现的目标(我对任何类型的“编程”的总体验不到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
这对任何人都没有任何意义吗?任何人都可以告诉我,我这样做的方法是绝对没有希望,还是有一些更好的想法让我用作执行结束这样的事情?
我不应该使用主键或这是如何工作的?
感谢您花时间阅读此内容:)
-Victor
为未来编辑:
将脚本更改为此内容以使其正常工作:
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());
}
答案 0 :(得分:0)
$maxordrenr = mysql_query($sql);
应该是
$maxordrenr = mysql_result($sql,0);