我需要 php 下一个 id,例如:我在数据库中有这个 id:10、11、15、19、31、32、34 .....
$img_id=$_GET[img_id]; // 从浏览器获取图像 id
$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 />';
}
}
100 在这里是一个潜在的数字,但它应该可以满足您的需要。您可以将大量解决方案应用于您的问题,但对于您提出的问题,这将是我想到的最直接的解决方案。
很不清楚你想说什么。但我会试一试。
MAX(id)
我认为您的意思是您已经从表中删除了一些记录,并且在下一次插入时它不会从最后一个继续。为此,您可以尝试:
正如下面提到的@col,永远不要在生产中使用它,只是你的测试环境。一旦记录被删除,序列就会丢失。
mysql_query("ALTER TABLE `table_name` AUTO_INCREMENT = 1");
这样做的目的是,如果您有一个以sayimages
的最大值命名的表,并且您删除了此图像。您输入的下一张图片将具有. 所以 ids 现在看起来像. 这将迫使 MySQL 继续从,所以它看起来。id
99
id=100
97,98,100
MAX(id) + 1
97,98,99
从 php 获取最后一个插入 id 也是一个方便的函数:
$last_id = mysql_insert_id();
现在$last_id
将具有AUTO_INCREMENT
数据库中的最后一个值。
希望这可以帮助。