我正在使用PHP显示一个动态图库...我想要的是在一个页面上显示很多缩略图而不是分页...你知道数字页面和下一个和所有..
这是一件旧事,但我不知道该怎么做..
但要抓住你的马 HERES THE TWIST
我在DIVS中显示缩略图,我设置在行中,所以让我们说如果有人在1024x768中打开页面,我连续获得3个缩略图并且有6行,所以他们在整体上制作了18个thumnails ..
但是如果有人用他们的分辨率打开页面让我们说1600 x 1200我连续获得5个thumnails,所以18个缩略图会产生3行..让我说我想保留行6并将缩略图弹出到30。 .. 如何使用代码
P.S。祝我疯狂的好运....
答案 0 :(得分:1)
分页可以用PHP处理。但你无法完成纯PHP中提到的所有内容。将涉及一些AJAX / Javascript,特别是在自动检测浏览器分辨率方面。您必须考虑具有纵向和横向尺寸的浏览器的客户端,包括小屏幕(移动电话240x240或320x320)。
答案 1 :(得分:1)
当然以某种方式你设法控制用户的分辨率,并且你将能够计算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
答案 2 :(得分:1)
基本技术是:您知道,或者计算每页显示的图像数量。所以当你进行查询时,这就是你的极限。此外,您将需要一个偏移量 - 您需要跳过多少结果。如果您每页显示8个结果并且想要显示第3页,则您的偏移量将为(3 - 1)* 8或16。
现在,您的有趣挑战听起来就像您的显示器:您根据显示器显示不同数量的缩略图。所以你需要计算你想要的显示器的大小,可能是使用javascript,然后根据你显示的页面,根据你要显示的页面发出一个ajax请求来查询你想要的结果数量和偏移量。
答案 3 :(得分:0)
您可以通过java脚本找到屏幕分辨率
document.write(screen.width +'x'+ screen.height);
此行将打印屏幕分辨率。因此,如果条件
,可以像往常一样继续进行if($ screen = 1024x768){执行查询 } else {execute query}
我希望这会对你有帮助..