我有一个表单,您输入的内容然后显示最后一行的ID和标题,但是当它在那里创建然后它只显示提交时的上一行, 即如果最后一行ID是23,那么当我真正希望它显示第24行时,它会显示第23行,为了解决这个问题,我在下面的查询中添加了+1到id:
即:
$last_id = $lr_result['id'] + 1;
现在这对于id工作正常,但现在我正在尝试获得相同行的标题,但无论我尝试什么,我总是得到最后一个标题(在提交时), 即第23行标题而不是第24行标题(或者在下面的代码片段中没有任何内容)。
// fetch id
$lastrow = "SELECT * FROM foo ORDER BY id DESC LIMIT 1";
$lr_result = mysql_fetch_assoc(mysql_query($lastrow));
//fetch id and add 1
$last_id = $lr_result['id'] + 1;
// fetch title where id = last_id
$lasttitlerow = "SELECT * FROM foo WHERE id='{$last_id}'";
$ltr_result = mysql_fetch_assoc(mysql_query($lasttitlerow));
$last_title = $ltr_result['title'];
echo $last_id . $last_title;
一如既往,所有的帮助都会受到赞赏并提前感谢。
答案 0 :(得分:0)
SELECT * FROM foo WHERE id = (SELECT max(id) FROM foo)
也许?内部查询将返回“23”,而外部查询将获取整个记录。您将无法检索id = 24,因为该记录尚不存在 - 您尚未插入它。