PHP动态图库分页(带扭曲)

时间:2010-11-13 18:07:48

标签: javascript pagination

我正在使用PHP显示一个动态图库...我想要的是在一个页面上显示很多缩略图而不是分页...你知道数字页面和下一个和所有..

这是一件旧事,但我不知道该怎么做..

  • 怎么做?

但要抓住你的马 HERES THE TWIST

我在DIVS中显示缩略图,我设置在行中,所以让我们说如果有人在1024x768中打开页面,我连续获得3个缩略图并且有6行,所以他们在整体上制作了18个thumnails ..

但是如果有人用他们的分辨率打开页面让我们说1600 x 1200我连续获得5个thumnails,所以18个缩略图会产生3行..让我说我想保留行6并将缩略图弹出到30。 .. 如何使用代码

P.S。祝我疯狂的好运....

4 个答案:

答案 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}

我希望这会对你有帮助..