我目前正在開發一個在線購物網站。不幸的是,我被數據庫顯示圖像的問題所阻塞。如何逐頁顯示圖像?
我想要實現的結果是從數據庫檢索圖像並將它們顯示在不同的頁面中。例如,數據庫中共有12個圖像,我想在一個頁面上顯示6個圖像。而且,當用戶點擊下一頁(第2頁)時,將顯示其餘6個圖像。我一直堅持這個多天。任何人都可以幫我解決這個問題。最好的祝願。
我目前正在開發一個在線購物網站。不幸的是,我被數據庫顯示圖像的問題所阻塞。如何逐頁顯示圖像?
我想要實現的結果是從數據庫檢索圖像並將它們顯示在不同的頁面中。例如,數據庫中共有12個圖像,我想在一個頁面上顯示6個圖像。而且,當用戶點擊下一頁(第2頁)時,將顯示其餘6個圖像。我一直堅持這個多天。任何人都可以幫我解決這個問題。最好的祝願。
你應該設定爲其打開頁面圖像的計算偏移,並使用查詢數據庫類似如下:(假設你的圖像元數據存儲在Image
數據庫表)
SELECT * from Image LIMIT $offset, $limit
試試這個
<?php
if(isset($_Get['page']))
{$page = $_Get['page'];}
else
{$page = 1; }
$firstimage = $page * 6 - 6;
$lastimage = $page * 6;
$sql = 'SELECT * from image LIMIT $firstimage, $lastimage';
?>
,並在botom
<a href="yourpage.php?page='<?php echo $page + 1; ?> '">Next page</a>
添加一個鏈接
謝謝你!你真棒!它適合我! – user2295136
然後vadidate! – Melki
這並不複雜,你可以使用分頁。按照這樣的邏輯:
每個頁面數,從查詢字符串獲取該號碼,然後使用限制在SQL查詢這樣
$page = $_GET['page'];
if ($_GET['page'] == "1") {
{
$startFrom = 0;
$totalCount = 6;
} else {
$startFrom = 6*$_GET['page'];
$totalCount = 6;
}
使用該兩個變量在你的極限
LIMIT $startFrom, $totalCount;
你要做的是叫做pagination。幸運的是,這不是太困難,網上有很多關於構建這樣的腳本的教程。
分頁的總體思路是,你會從數據庫中選擇分組的數據,從一個特定的初始偏移和去只有一定的長度,或限制。
Select * from yourTable LIMIT $yourOffset, $yourLimit
從這裏,你最喜歡將不得不next
或previous
按鈕,這將只是告訴腳本當前offset
和limit
將是什麼。
一個例子可能是:
<form action="" method="POST">
<input type="hidden" name="offset" value="10"/>
<input type="hidden" name="limit" value="20"/> // The amount to be returned per page
<input type="submit" value="next page" name="submit" />
</form>
然後,在PHP
您只需檢索limit
和offset
值:
$limit = '';
$offset = '';
if (isset($_POST['submit'])) {
{
$limit = $_POST['limit'];
$offset = $_POST['offset'];
// Run query here
}
$page = $_GET['page_no'];
$count = $page*6;
$sql = "select images from table limit $count-6,$count";
你需要的是限制和在您的SQL代碼中抵消了。
在PHP使用:
$limit = 15;
$offset = ($page - 1) * $limit;
The limit is the amount of values you want to be shown.
The $page variable you need to get because of the page you are on. You will need
to write some code to keep your page value in order to know what page you are on.
If you are on page 3 you want the 6 images for that page.
If you have that you pass your $limit and offset to your sql function.
在SQL:
$sql = 'select * from images ORDER BY x LIMIT ' . $limit . ' OFFSET ' . $offset;
謝謝!這也是一個很好的嘗試方法。感謝您的所有時間! – user2295136
[分頁](http://net.tutsplus.com/tutorials/php/how-to-paginate-data- with-php /) – PHearst
如果沒有看到您的代碼,我們無法幫助您。 – Jocelyn
你試過了嗎? –