无法将各种查询发送到适当的行以设置时间

时间:2013-05-01 06:07:11

标签: php mysql

抱歉标题,我真的不知道我应该怎么称呼它,但希望你能用我的剧本来帮助我。

我想要实现的目标(我对任何类型的“编程”的总体验不到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());

}

1 个答案:

答案 0 :(得分:0)

$maxordrenr = mysql_query($sql);

应该是

$maxordrenr = mysql_result($sql,0);