php数据库中的下一个id
我需要php下一个id,例如:我有这个id的数据库:10,11,15,19,31,32,34 $img_id=$\u获取[img_id];//从浏览器获取图像id的步骤php数据库中的下一个id,php,database,next,Php,Database,Next,我需要php下一个id,例如:我有这个id的数据库:10,11,15,19,31,32,34 $img_id=$\u获取[img_id];//从浏览器获取图像id的步骤 $row['id'];//从数据库中获取id的步骤 如何使用php$I++并检查数据库中是否设置了id?并忽略空的id 因为我想把下一张图片放在底部。而一些图片被删除了 谢谢根据我对您问题的理解,您的数据库中有ID不连续的行(1、3、13、16等),您希望通过从循环中搜索连续的数字来访问这些行,尽可能多的ID for($i=0;
$row['id'];//从数据库中获取id的步骤 如何使用php
$I++
并检查数据库中是否设置了id
?并忽略空的id
因为我想把下一张图片放在底部。而一些图片被删除了
谢谢根据我对您问题的理解,您的数据库中有ID不连续的行(1、3、13、16等),您希望通过从循环中搜索连续的数字来访问这些行,尽可能多的ID
for($i=0; $i<100; $i++)
{
$query = 'SELECT * FROM `table` WHERE `id` = ' . $i;
$result = mysql_query($query);
if(mysql_num_rows($result) > 0)
{
echo 'This id exists in the table: ' . $id . '<br />';
}
}
($i=0;$i 0)的
{
echo“此id存在于表中:”.$id。“
”;
}
}
100在这里作为一个潜在的数字,但它应该达到你需要的。
对于你的问题,有很多解决方案,但这是我想到的最直截了当的问题。很不清楚你想说什么。但我会试一试 我想您的意思是您已经从表中删除了一些记录,并且在下一次插入中,它不会从最后一次
MAX(id)
继续。为此,您可以尝试:
正如下面提到的@col,不要在生产中使用它,只在您的测试环境中使用它。一旦记录被删除,序列就会丢失。
mysql_query("ALTER TABLE `table_name` AUTO_INCREMENT = 1");
这样做的目的是,如果您有一个名为images
的表,其id
的最大值为99
,并且您删除了该图像。您输入的下一个图像将具有id=100
。所以ID现在看起来像9798100
。这将迫使MySQL继续从MAX(id)+1
,因此它看起来是97,98,99
还有一个从php获取最后一个插入id的便捷函数:
$last_id = mysql_insert_id();
现在,$last\u id
将具有来自数据库的最后一个自动增量
值
希望这能有所帮助。您的问题还不清楚。“我想把下一张图片放在底部”是什么意思?若你们想在表中插入另一行,只需插入它,qutoincrement就会自动设置id,永远不要碰autoincrement字段,听起来就像他想要的那个样。也许我不该假设太多。编辑了答案。嗯,虽然我们都是疯子,但我们都想要奇怪和有害的东西。但事实上,如果你想改变autoincrement字段,你要么不应该这样做,要么就不需要autoincrement。我个人已经用过好几次了,在一次大的删除之后。也许是我的强迫症。所以,你几次破坏了你的数据