[英]PHP Dynamic Gallery Pagination (with a twist)
好吧,我正在使用PHP显示动态画廊...我要的是代替在一页上显示很多缩略图,而不是在做分页。.您知道数字页以及下一页和全部。
好吧,这是一个老东西,但我不知道该怎么做。
但牵着马在这里
我在DIVS中显示缩略图,我在行中设置了缩略图,因此可以说,如果有人打开1024x768的页面,则我会连续获得3张缩略图,并且有6行,因此它们总共可制作18张缩略图。
但如果有人打开的页面与他们的分辨率可以说,1600×1200,我得到5个thumnails连胜所以18个缩略图将使3行..可以说,我想保留的行6和弹出缩略图30 ... 如何骑代码来做到这一点
ps祝我疯狂的唐卡好运...
分页可以用PHP处理。 但是,您无法完成纯PHP中提到的所有内容。 某些AJAX / Javascript将涉及到,特别是在自动检测浏览器分辨率方面。 您必须考虑使用具有纵向和横向尺寸(包括小屏幕)(移动电话240x240或320x320)的浏览器的客户端。
既然可以通过某种方式设法保持用户的分辨率,并且能够计算DIV中的缩略图总数,那么告诉PHP取而代之的是30个缩略图就不是魔术。
define('ROW_TOTAL', 6);
define('MIN_THUMBS', 3);
define('THUMB_WIDTH', 320);
// Get the clients resolution (i.e. via ECMA and a cookie)
$thumbs = isset($_COOKIE['res_width']) ?
(int) (intval($_COOKIE['res_width'], 10) / THUMB_WIDTH) : MIN_THUMBS;
// Get the page via the client's request
$page = isset($_GET['page']) ?
intval($_GET['page'], 10) : 0;
$query = sprintf(
'SELECT thumb_url' .
' FROM images' .
' WHERE set_id = %u'.
' LIMIT %u OFFSET %u',
$set_id,
$thumbs,
$thumbs * $page
);
// Feth the records and process them in a loop
// I'll leave that up to you
祝你好运,aefxx
基本技术是:您知道或计算每页显示多少图像。 因此,当您进行查询时,这就是您的LIMIT。 另外,您将需要一个偏移量-您需要跳过多少个结果。 如果每页显示8个结果,而您想显示第3页,则偏移量将为(3-1)* 8或16。
现在,您的有趣挑战听起来像您的显示器:您将根据显示器显示不同数量的缩略图。 因此,您可能需要使用javascript来计算所需的显示大小,然后基于显示的页面发出ajax请求以查询所需的结果量和偏移量。
您可以通过Java脚本找到屏幕分辨率
document.write(screen.width +'x'+ screen.height);
此行将打印屏幕分辨率。 因此,如果有条件,可以照常采取进一步措施
if($ screen = 1024x768){执行查询} else {执行查询}
我希望这能帮到您..
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.