首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP下一个/上一个图像循环

PHP下一个/上一个图像循环
EN

Stack Overflow用户
提问于 2012-07-12 11:21:13
回答 3查看 2.7K关注 0票数 0

我已经创建了一个下一个和前一个图像链接,这是很好的工作。但我希望它们都循环回到开头或结尾。假设我有image101,图像202和image243,一旦我点击image243,它就会回到image101。

我想和以前一样,当我点击Image101时,我希望链接回到image243。(不言自明)

我该怎么做呢?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php   $sql = "SELECT id FROM albums WHERE user_id=".$user['id']." ORDER BY id ASC LIMIT 1";   $query = mysql_query($sql)or die(mysql_error());    

while($album = mysql_fetch_array($query)){ ?>


                    <?php
                $photo_sql = "SELECT photo_id FROM userphotos WHERE photo_id > ".$_GET['pid']." AND photo_ownerid = ".$user['id']." AND album_id=".$album['id']." ORDER BY photo_id ASC LIMIT 1 ";

                $photo_query = mysql_query($photo_sql)or die(mysql_error());
                $photo_next=mysql_fetch_array($photo_query);



echo "<a href='photo.php?pid=".$photo_next['photo_id']."'>Next</a>";



                $photo_sql = "SELECT photo_id FROM userphotos WHERE photo_id < ".$_GET['pid']." AND photo_ownerid = ".$user['id']." AND album_id=".$album['id']." ORDER BY photo_id DESC LIMIT 1 ";

                $photo_query = mysql_query($photo_sql)or die(mysql_error());
                $photo_prev=mysql_fetch_array($photo_query);

                    echo " | <a href='photo.php?pid=".$photo_prev['photo_id']."'>Prev</a>";

}


?>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-12 13:03:41

为什么不在PHP中这样做呢?您可以只获取照片ID,并使用MySQL:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$photo_sql = "SELECT photo_id FROM userphotos WHERE photo_ownerid = ".$user['id']." AND album_id=".$album['id']." ORDER BY photo_id ASC"
$photo_result = mysql_query($photo_sql) or die(mysql_error());
while($row=mysql_fetch_array($photo_result)) {
   $photos[]=$row[0];
}
$total = mysql_num_rows($photo_result);

$current = 2; // whatever your position is in the photo array

echo '<img src="'.$photos[$current].'" alt="my image!" />'; // display current photo

$next = ($current+1) % $total; // modulo
$prev = (($current-1) < 0) ? $total : $current -1;

echo "<a href='photo.php?pid=".$next."'>Next</a>";
echo " | <a href='photo.php?pid=".$prev."'>Prev</a>";

只是为了解释一下,我们使用modulo来获得正确的下一页。获取上一页不言而喻:如果我们低于零,则使用照片的$total数量。

在数据库方面,以这种方式使用它比所有这些大于小于的查询要高效得多。

票数 1
EN

Stack Overflow用户

发布于 2012-07-12 11:28:38

您可以添加指向第一个图像的链接,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$photo_sql = "SELECT MIN(photo_id) FROM userphotos WHERE photo_ownerid = ".$user['id']
$photo_query = mysql_query($photo_sql)or die(mysql_error());
$photo_first =mysql_fetch_array($photo_query);
echo "<a href='photo.php?pid=".$photo_first['photo_id']."'>First</a>";

当然你也可以用MAX来获取最后一张照片。

票数 0
EN

Stack Overflow用户

发布于 2012-07-12 11:32:23

这将为您提供下一个条目,也将提供第一个条目,这意味着如果没有next,它将提供第一个条目。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$photo_sql = "SELECT photo_id FROM userphotos WHERE photo_id > ".$_GET['pid']." AND photo_ownerid = ".$user['id']."  ORDER BY photo_id ASC LIMIT 1 ";
$photo_sql. = "UNION SELECT photo_id FROM userphotos WHERE photo_ownerid = ".$user['id']." ORDER BY photo_id ASC LIMIT 1 ";

然后在前面的do a UNION with ORDER BY photo_id DESC

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11450736

复制
相关文章
php循环
do while循环 语法 $a=5;//初始化a的值 do{ ....执行语句 步入(自增或自减之类) } while(循环条件,满足进行,不满足结束); <?php $a=5;//初始化a的值。
十月梦想
2018/08/29
1.7K0
PHP-循环
php中,一共提供了以下循环语句: while:只要指定的条件成立,则循环执行代码块(在不确定循环次数的情况下使用) do….while:首先执行一次代码块,然后再指定的条件成立时重复这个循环 for
行 者
2018/03/26
2.7K0
PHP-循环
2、如果明确知道循环多少次首先for循环,如要要循环到条件不成立为止选while或do-while
cwl_java
2020/03/26
2.7K0
PHP循环语句
条件 while 条件为真就会执行代码. while(条件为真){ 执行的代码; } do…while 先执行后判断条件,如果为真则循环. do{ 执行的代码; }while(条件为真); 计数 for 根据写的次数确定循环次数. for(初始化循环计数器的值; 评估每个循环迭代; 增加循环计数器的值){ 执行的代码; } foreach 适合用于数组循环,遍历数组中的每个键或值. foreach (数组变量 as 临时变量) { code to be ex
小新哟
2020/09/23
2.6K0
python for跳过下一个循环_python循环三次跳出循环
Python中的for循环与其它语言不大一样,但跳出循环还是与大多数语言一样,可以使用关键字continue跳出本次循环或者break跳出整个for循环。
全栈程序员站长
2022/09/22
2.9K0
python for跳过下一个循环_python循环三次跳出循环
PHP | 条件嵌套、循环嵌套、条件循环相嵌套
demo: 假设在发3月工资的时候,不仅判定性别,还要判定男性是否有房,没有房,可以发放住房补贴,对于女性,判定是否怀孕,怀孕还有怀孕补贴:
凌川江雪
2019/03/08
4.2K0
PHP 循环引用的问题
问题 为了引出问题, 先来看下面一段代码: <?php $arr = [ 'a', 'b', 'c', 'd', ]; foreach ($arr as &$each){ e
烟草的香味
2019/07/25
3.7K0
PHP 循环引用的问题
PHP中如何跳出for循环
在PHP中,可以使用break关键字来跳出循环。当循环执行到break语句时,循环会被立即终止,程序控制权会跳转到循环外的下一条语句。
很酷的站长
2023/08/17
7250
PHP中如何跳出for循环
php foreach跳出本次/当前循环与终止循环方法
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/112380.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/08
2.4K0
PHP- 控制流-循环语句-for
其中,expr1表示循环开始前执行的一段代码,通常用于初始化变量;expr2表示每次循环前都会进行的条件判断,如果条件为真,则继续执行循环体中的代码,否则跳出循环;expr3表示每次循环后要执行的代码,通常用于更新变量的值。
堕落飞鸟
2023/04/26
1.2K0
php实现随机图像功能
近期做个小开发需要用到随机图像。 直接上代码 方法一 <?php $img_array = glob('images/*.{gif,jpg,png,jpeg,webp,bmp}', GLOB_
青阳
2021/03/31
1.4K0
PHP 图像居中裁剪函数
使用方法:image_center_crop(source, width, height, target);
用户8099761
2023/05/11
1.5K0
php拼接循环拼接字符串数组,PHP数组拼接
最近的工作中老是要遇到将两个数组进行拼接的操作。下面总结一下数组拼接的几个函数及它们的不同点。
全栈程序员站长
2022/09/02
17.5K0
PHP递归和循环的速度测试
后来想想,以前看书的时候经常说递归函数会浪费堆栈空间,甚至会导致堆栈溢出,于是重新用循环实现了这个函数:
仁扬
2023/06/18
2560
Postman 如何处理上一个接口返回值作为下一个接口入参?
前两天做接口测试,有一个接口的参数是一个校验 token,会实时更新,开发提供了一个单独返回实时 token 的接口,所以就需要在功能接口使用时调用 token 接口的返回值,作为功能接口的参数来使用。
sylan215
2020/03/04
3.3K0
Postman 如何处理上一个接口返回值作为下一个接口入参?
PHP图形图像处理
当图像处理完成后,可以使用imagedestroy()函数销毁图像资源来释放内存。
白胡杨同学
2020/04/10
1.2K0
二叉树的下一个结点&二叉树的上一个结点
 最笨的方法就是一直网上回溯,直到找到了头结点,然后从头结点开始重新中序遍历一次树,然后得到答案  还有一种比较巧妙的方法,先判断当前结点有没有右子树,如果有,直接打印右子树中最左的结点即为答案;如果没有,就往上回溯,假设当前结点是x,父节点是p,如果x是p的左孩子,p就是答案,如果不是,就一直向上回溯x = p;p = p.parent;
mathor
2018/08/17
2210
PHP- 控制流-循环语句-while(一)
其中,condition是一个布尔表达式,它的值将在每次循环开始时进行计算。如果condition的值为true,则执行{}中的代码;如果condition的值为false,则跳过整个循环。
堕落飞鸟
2023/04/26
7290
PHP- 控制流-循环语句-while(二)
在PHP中,您可以将一个while循环放在另一个while循环中,以创建嵌套循环。嵌套循环是一种常见的编程技巧,用于遍历多维数组或执行复杂的算法。下面是一个示例,使用嵌套循环计算从1到10的所有数字的和:
堕落飞鸟
2023/04/26
6870
[PHP] 数据结构-循环链表的PHP实现
1.将单链表中终端结点的指针端由空指针改为指向头结点,单循环链表,循环链表和单链表的主要差异就在于循环的判断条件上 原来是判断p->next是否为空,现在则是p->next不等于头结点,则循环未结束
唯一Chat
2019/09/10
7550

相似问题

转到下一个图像和上一个图像

12

PHP -文件夹中的随机图像,下一个图像,随机图像和上一个图像

23

Jssor full width Slider -连续循环/下一个/上一个图像部分可见

23

选择下一个或上一个图像

11

如何通过字典使下一个'for‘循环从上一个循环继续循环?

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文