Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索
123
返回列表 发新帖

[已解决] 关于上传图片后的排序问题!官方指教下

[复制链接]
vaneylee 发表于 2009-4-12 17:46:59 | 显示全部楼层
郁闷,其实还是有问题!!!
按照fantom的方法,在该相册下的图片列表中确实是按1 2 3 4的顺序了,但是点击浏览大图时就出问题了:点击大图1转到4,再点击4转到3,再点击3转到2,再点击2转到1……
所以说,我上传的时候,在上传框中的顺序是1 2 3 4,上传完之后图片列表也是1 2 3 4,要命的是浏览大图的时候,还是成了1 4 3 2!!!
晕倒!
回复

使用道具 举报

tonylittle 发表于 2009-5-5 20:51:16 | 显示全部楼层
貌似解决不了
上一页和下一页依然是使用picid来判断的,但是批量上传的时候picid的顺序有不是按照图片顺序来的
回复

使用道具 举报

sz10239 发表于 2009-7-15 08:47:16 | 显示全部楼层
能不能加个图片显示顺序功能,,现在这种方式烦死人。。传图片时都是没序的上传,
回复

使用道具 举报

w4liaoyan 发表于 2009-9-21 11:19:18 | 显示全部楼层
就是!我觉得应该加个相册排序!比如按照名称,按照上传时间!等等
回复

使用道具 举报

linktalk 发表于 2009-10-21 10:00:32 | 显示全部楼层
本帖最后由 linktalk 于 2009-10-21 10:06 编辑
打开./source/space_album.php
找到
玻璃屋女孩 发表于 2009-3-6 14:47
  1. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE $wheresql ORDER BY dateline DESC LIMIT $start,$perpage");
复制代码
改成下面的代码应该就可以了:
  1. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE $wheresql ORDER BY dateline, picid ASC LIMIT $start,$perpage");
复制代码
回复

使用道具 举报

linktalk 发表于 2009-10-21 10:05:47 | 显示全部楼层
本帖最后由 linktalk 于 2009-10-21 10:43 编辑

其实改成下面的更加高效,效果也一样:

  1. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE $wheresql ORDER BY picid ASC LIMIT $start,$perpage");
复制代码
这段代码在/source/space_album.php的大约64行的位置。
回复

使用道具 举报

linktalk 发表于 2009-10-21 10:40:49 | 显示全部楼层
另外关于图片浏览页上的“上下翻页”和“幻灯播放”功能的顺序修改实现如下:
找到/source/space_album.php,大约87-129行左右的位置:


  1.         if($_GET['goto']=='up') {
  2.                 //上一张
  3.                 if($eventid) {
  4.                         $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' AND ep.picid > '$pic[picid]' ORDER BY ep.picid ASC LIMIT 0,1");
  5.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  6.                                 //到头转到最后一张
  7.                                 $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' ORDER BY ep.picid ASC LIMIT 1");
  8.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  9.                         } else {
  10.                                 $pic = $newpic;
  11.                         }
  12.                 } else {
  13.                         $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' AND picid>$picid ORDER BY picid LIMIT 1");
  14.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  15.                                 //到头转到最早的一张
  16.                                 $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' ORDER BY picid LIMIT 1");
  17.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  18.                         } else {
  19.                                 $pic = $newpic;
  20.                         }
  21.                 }
  22.         } elseif($_GET['goto']=='down') {
  23.                 //下一张
  24.                 if($eventid) {
  25.                         $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' AND ep.picid < '$pic[picid]' ORDER BY ep.picid DESC LIMIT 0,1");
  26.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  27.                                 //到头转到第一张
  28.                                 $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' ORDER BY ep.picid DESC LIMIT 1");
  29.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  30.                         } else {
  31.                                 $pic = $newpic;
  32.                         }
  33.                 } else {
  34.                         $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' AND picid<$picid ORDER BY picid DESC LIMIT 1");
  35.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  36.                                 //到头转到最新的一张
  37.                                 $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' ORDER BY picid DESC LIMIT 1");
  38.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  39.                         } else {
  40.                                 $pic = $newpic;
  41.                         }
  42.                 }
  43.         }
  44.        
复制代码
将上面的代码替换为:


  1.         if($_GET['goto']=='up') {
  2.                 //上一张
  3.                 if($eventid) {
  4.                         $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' AND ep.picid <

  5. '$pic[picid]' ORDER BY ep.picid DESC LIMIT 0,1");
  6.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  7.                                 //到头转到第一张
  8.                                 $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' ORDER BY

  9. ep.picid DESC LIMIT 1");
  10.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  11.                         } else {
  12.                                 $pic = $newpic;
  13.                         }
  14.                 } else {
  15.                         $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' AND picid<$picid ORDER BY picid DESC LIMIT 1");
  16.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  17.                                 //到头转到最新的一张
  18.                                 $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' ORDER BY picid DESC LIMIT 1");
  19.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  20.                         } else {
  21.                                 $pic = $newpic;
  22.                         }
  23.                 }
  24.         } elseif($_GET['goto']=='down') {
  25.                 //下一张
  26.                 if($eventid) {
  27.                         $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' AND ep.picid >

  28. '$pic[picid]' ORDER BY ep.picid ASC LIMIT 0,1");
  29.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  30.                                 //到头转到最后一张
  31.                                 $query = $_SGLOBAL['db']->query("SELECT pic.*, ep.* FROM ".tname('eventpic')." ep LEFT JOIN ".tname("pic")." pic ON ep.picid = pic.picid WHERE ep.eventid='$eventid' ORDER BY

  32. ep.picid ASC LIMIT 1");
  33.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  34.                         } else {
  35.                                 $pic = $newpic;
  36.                         }
  37.                 } else {
  38.                         $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' AND picid>$picid ORDER BY picid ASC LIMIT 1");
  39.                         if(!$newpic = $_SGLOBAL['db']->fetch_array($query)) {
  40.                                 //到头转到最早的一张
  41.                                 $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$pic[albumid]' AND uid='$space[uid]' ORDER BY picid ASC LIMIT 1");
  42.                                 $pic = $_SGLOBAL['db']->fetch_array($query);
  43.                         } else {
  44.                                 $pic = $newpic;
  45.                         }
  46.                 }
  47.         }
  48.        
复制代码
回复

使用道具 举报

linktalk 发表于 2009-10-21 11:12:09 | 显示全部楼层
如果要修改“日志”中“插入图片”的顺序,可以找到/source/do_ajax.php,大约在119行左右找到:

  1. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$id' AND uid='$_SGLOBAL[supe_uid]' ORDER BY dateline DESC LIMIT $start,$perpage");
复制代码
将它改成:

  1. $query = $_SGLOBAL['db']->query("SELECT * FROM ".tname('pic')." WHERE albumid='$id' AND uid='$_SGLOBAL[supe_uid]' ORDER BY dateline ASC LIMIT $start,$perpage");
复制代码
回复

使用道具 举报

51chuqi.com 发表于 2009-10-21 14:55:26 | 显示全部楼层
本帖最后由 51chuqi.com 于 2009-10-21 14:56 编辑

其实完全可以在批量上传是,把图片倒序排列好呀,图片 真人秀图1.jpg 真人秀图2.jpg 真人秀图3.jpg
选择时为123,你用名称排序,成为321时这样再选择所有图片,上传! 
传上的图片就是123的正确顺序了!!
不信可以看我的!!
http://www.zhenren.com/?action-imagelist-uid-4082-id-85.htm
回复

使用道具 举报

coodboy10 发表于 2009-10-26 19:56:59 | 显示全部楼层
明明就有能夠排列圖片的技術,幹麻還死要用這種讓人覺得麻煩的方式去改變順序
站長自己沒在用,但是沒這種功能令人想罵XXX
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-14 02:29 , Processed in 0.096729 second(s), 12 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表