首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP/MYSQL -用户照片上一张/下一张链接

PHP/MYSQL -用户照片上一张/下一张链接
EN

Stack Overflow用户
提问于 2012-07-12 09:34:07
回答 1查看 527关注 0票数 0

我的项目有用户帐户,其中的照片属于上传这些照片的每个用户

我想为每个用户显示下一张和前一张照片,所以当我转到照片的朋友列表时,我可以导航(显然)到用户下一张上传的照片。如果这些是photo_id顺序中的下一张/前一张照片,我会很满意。

你如何为下一张/上一张照片编写这样的查询?

我的表结构是这样的。

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS `userphotos` (
  `photo_id` int(11) NOT NULL auto_increment,
  `photo_ownerid` int(11) NOT NULL,
  `photo_ispublic` int(11) NOT NULL,
  `photo_name` varchar(100) NOT NULL,
  `photo_caption` varchar(100) NOT NULL,
  `photo_imagedata` longblob NOT NULL,
  `album_id` int(11) NOT NULL,
  PRIMARY KEY  (`photo_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=89 ;

我是否可以使用类似下面的内容来选择id的

上一张图片

代码语言:javascript
复制
SELECT field1 FROM tablename WHERE id < $currentid ORDER BY id DESC LIMIT 1

下一张图片

代码语言:javascript
复制
SELECT field1 FROM tablename WHERE ID > $currentid ORDER BY id ASC LIMIT 1
EN

回答 1

Stack Overflow用户

回答已采纳

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

这些查询应该可以完成您想要完成的任务。不过,您还应该添加所有者id,以将浏览的照片限制为用户拥有的照片。

上一个图像

代码语言:javascript
复制
SELECT field1 FROM tablename 
WHERE id < $currentId AND photo_ownerid = $ownerId 
ORDER BY id DESC LIMIT 1

下一个镜像

代码语言:javascript
复制
SELECT field1 FROM tablename 
WHERE ID > $currentId AND photo_ownerid = $ownerId 
ORDER BY id ASC LIMIT 1

然而,正如对这个问题的评论中所暗示的那样,与每次你想要查看下一张/上一张照片时查询数据库相比,有更有效的替代方案。例如,你可以一次查询所有的照片,然后使用javascript库,例如PrettyPhoto,来整齐地组织和浏览照片。

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

https://stackoverflow.com/questions/11443937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档