0

我需要 php 下一个 id,例如:我在数据库中有这个 id:10、11、15、19、31、32、34 .....

$img_id=$_GET[img_id]; // 从浏览器获取图像 id
$row['id']; //从数据库中获取id

如何使用 php$i++并检查是否id在数据库中设置?并忽略空id

因为我想把下一张图片放在底部。而一些图片被删除了!!

谢谢

4

2 回答 2

1

根据我对您的问题的了解,您的数据库中有一些行的 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 在这里是一个潜在的数字,但它应该可以满足您的需要。您可以将大量解决方案应用于您的问题,但对于您提出的问题,这将是我想到的最直接的解决方案。

于 2011-03-16T01:35:04.133 回答
-1

很不清楚你想说什么。但我会试一试。

MAX(id)我认为您的意思是您已经从表中删除了一些记录,并且在下一次插入时它不会从最后一个继续。为此,您可以尝试:

正如下面提到的@col,永远不要在生产中使用它,只是你的测试环境。一旦记录被删除,序列就会丢失。

mysql_query("ALTER TABLE `table_name` AUTO_INCREMENT = 1");

这样做的目的是,如果您有一个以sayimages的最大值命名的表,并且您删除了此图像。您输入的下一张图片将具有. 所以 ids 现在看起来像. 这将迫使 MySQL 继续从,所以它看起来。id99id=10097,98,100MAX(id) + 197,98,99

从 php 获取最后一个插入 id 也是一个方便的函数:

$last_id = mysql_insert_id();

现在$last_id将具有AUTO_INCREMENT数据库中的最后一个值。

希望这可以帮助。

于 2011-03-16T13:01:49.910 回答