我需要php下一个id,例如:我在数据库中有这个id:10,11,15,19,31,32,34 ......
$ img_id = $ _ GET [img_id]; //从浏览器中获取图片ID $行[ '身份证']; //从数据库中获取id
如何使用php $i++
并检查数据库中是否设置了id
?并忽略空id
。
因为我想将下一张图片放在底部。有些图片被删除!!
谢谢
答案 0 :(得分:1)
根据我对您的问题的理解,您的数据库中有行不是连续的行(1,3,13,16等),并且您希望通过从循环中搜索连续数字来访问这些行可能的ids?
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 />';
}
}
100在这里充当一个潜在的数字,但它应该达到你所需要的。 有很多解决方案可以应用于您的问题,但这是我想到的最直接的问题。
答案 1 :(得分:-1)
目前还不清楚你想说什么。但我会试一试。
我认为你的意思是你从表中删除了一些记录,并且它不会从下一个插入中的最后MAX(id)
继续。为此你可以尝试:
正如下面提到的@col,永远不要在生产中使用它,只考虑你的测试环境。删除记录后,序列将丢失。
mysql_query("ALTER TABLE `table_name` AUTO_INCREMENT = 1");
这样做是因为如果您有一个名为images
的表格,其id
的最大99
并且您删除了此图片。您输入的下一张图片将显示id=100
。所以ids现在看起来像97,98,100
。这将迫使MySQL从MAX(id) + 1
继续,因此它看起来像97,98,99
。
还有一个方便的函数来从php获取最后一个插入ID:
$last_id = mysql_insert_id();
现在$last_id
将拥有数据库中的最后AUTO_INCREMENT
值。
希望这有帮助。