【问题标题】:PHP/MYSQL - User Photos Prev/Next linkPHP/MYSQL - 用户照片 Prev/Next 链接
【发布时间】:2012-07-12 01:34:06
【问题描述】:

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

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

您将如何为下一张/上一张照片编写这种查询?

我的表结构是这样的。

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 的

上一张图片

SELECT field1 FROM tablename WHERE id < $currentid ORDER BY id DESC LIMIT 1

下一张图片

SELECT field1 FROM tablename WHERE ID > $currentid ORDER BY id ASC LIMIT 1

【问题讨论】:

  • 我建议您在 PHP image gallery 上运行 Internet 搜索。您可以节省很多时间。
  • 我已经有显示个人照片的用户相册。但是只想实现导航来完成我想进行的最后几个步骤。接下来的几个将是“下载图像”“共享图像”和“修改图像”。当我们谈论示例时,我正在环顾网络,看看我需要做什么。有人深入解释会很棒,所以我有更清晰的理解。 :)

标签: php image navigation hyperlink


【解决方案1】:

这些查询应该适用于您想要完成的任务。虽然您还应该添加所有者 ID 以将浏览的照片限制为用户拥有的照片。

上一张图片

SELECT field1 FROM tablename 
WHERE id < $currentId AND photo_ownerid = $ownerId 
ORDER BY id DESC LIMIT 1

下一张图片

SELECT field1 FROM tablename 
WHERE ID > $currentId AND photo_ownerid = $ownerId 
ORDER BY id ASC LIMIT 1

但是,正如对该问题的评论中所暗示的那样,每次您希望查看下一张/上一张照片时,都有比查询数据库更有效的替代方法。例如,您可以一次查询所有照片,然后使用 JavaScript 库,例如 PrettyPhoto,整齐地组织和浏览照片。

【讨论】:

  • 感谢您对 Varchair 的建议。这很有帮助。 :D
  • 所以当我查询所有照片然后使用 javascript 库时。我会通过选择用户相册来查询所有内容吗?我的专辑是CREATE TABLE IF NOT EXISTS albums` (id int(11) NOT NULL auto_increment, name text NOT NULL, description text NOT NULL, user_id int(11) NOT NULL, is_public int(11 ) 非空,主键 (id) ) ENGINE=MyISAM 默认字符集=latin1 AUTO_INCREMENT=15 ;`
猜你喜欢
  • 1970-01-01
  • 2012-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-07
  • 2014-04-17
相关资源
最近更新 更多