我有一个php / mysql列表,可以在其中显示很多缩略图。
我的问题是一页中显示的图像太多。我想对其进行划分,以便可以在底部获得一些页面链接或其他内容?
像:1,2,3,4,5,6,7,8或下一个和上一个...
这是当前代码:
<?php
if ($db_found) {
$SQL = "SELECT * FROM myTable";
$result = mysql_query($SQL);
while ($db_field = mysql_fetch_assoc($result)) {
echo '<li>';
echo '<div class="thumb"><img src="images/thumbnails/'.$db_field['image'].'" alt="" /></a></div>';
echo '</li>';
}
mysql_close($db_handle);
}
?>
如何在此处添加一些页面链接?
最佳答案
使用Jquery会容易得多,但我建议您使用PHP作为开始,
它比添加一些JQuery代码会带给您一切的好处。
无论如何,用PHP进行简单的分页就是这样,
学习此代码的关键是要了解:
间隔,限制,mysql_num_rows,mysql_fetch_assoc,mysql_fetch_row,ceil,COUNT
在您学习了每种语言之后,代码将很容易理解,您可以对其进行开发并添加一些自己的改进。
此出色网站的功劳:PHPGuide
$per_page = 5;
$page = 1;
if (isset($_GET['page']))
{
$page = intval($_GET['page']);
if($page < 1) $page = 1;
}
$start_from = ($page - 1) * $per_page;
mysql_connect(..);
mysql_select_db(..);
$current_items = mysql_query( "SELECT * FROM `test` LIMIT $start_from, $per_page");
if( mysql_num_rows($current_items) > 0)
{
while($item = mysql_fetch_assoc($current_items))
{
echo $item['text'], '<br/>';
}
}
else
{
echo 'this page does not exists';
}
$total_rows = mysql_query("SELECT COUNT(*) FROM `test`");
$total_rows = mysql_fetch_row($total_rows);
$total_rows = $total_rows[0];
$total_pages = $total_rows / $per_page;
$total_pages = ceil($total_pages); # 19/5 = 3.8 ~=~ 4
for($i = 1; $i <= $total_pages; ++$i)
{
echo "<a href='?page=$i'>$i</a> ";
}
该代码非常易于理解且非常简单。
关于前一页和后一页,这是获得此代码后将要做的改进之一。