2015-05-02 46 views
0

我使用數據庫創建了一個圖庫。所有圖像在主頁上隨機顯示。現在我需要在我的導航欄中添加一個新的「最新」index.php/latest.php類別。MySQL問題與RAND()和1個DESC?

我使用無限滾動和一個小動作隨機訂購$rand=date("i");

問:ORDER BY 1 DESC不工作的index.php/latest.php,因爲我已經通過隨機主頁上訂購。如何在不更改主頁順序的情況下按最新頁面上的降序進行訂購?

的index.php

<?php 

include ("sqli.php"); 
$rand=date("i"); 

$seed=($rand); 
$per_page = 9; 
if (isset($_GET["page"])) { 

    $page = $_GET["page"]; 
} 
else { 
    $page=1; 
} 

$start_from = ($page-1) * $per_page; 

$query = "SELECT * FROM data ORDER BY RAND($rand) LIMIT $start_from, $per_page"; 

$result = mysqli_query ($con, $query); 

<?php while ($row = mysqli_fetch_array($result)) { ?> 

?> 

<div id="gallery here"></div> 

<?php> } ?> 

latest.php

<?php 

include ("sqli.php"); 
$per_page = 9; 
if (isset($_GET["page"])) { 

    $page = $_GET["page"]; 
} 
else { 
    $page=1; 
} 

$start_from = ($page-1) * $per_page; 

$query = "SELECT * FROM data ORDER BY 1 DESC LIMIT $start_from, $per_page"; 

$result = mysqli_query ($con, $query); 
?> 

<?php while ($row = mysqli_fetch_array($result)) { ?> 

?> 

<div id="gallery here"></div> 

<?php> } ?> 

回答

0

你必須createdAt場(由您的日期字段)設置順序last.php :

$query = "SELECT * FROM data ORDER BY createdAt DESC LIMIT $start_from, $per_page"; 
+0

警告:mysqli_fetch_array()期望參數1爲mysqli_result。現在我有一個PHP警告,用於<?php while($ row = mysqli_fetch_array($ result)){?>'這一行。 – Nilohn

+0

您的數據庫表中是否有「createdAt」字段?請嘗試在保存創建日期的字段名稱上更改字段名稱「createdAt」。 –

+0

是@Anna仍然有同樣的問題。如果我將主頁更改爲'ORDER BY 1 DESC',最新的.php頁面沒有任何問題。但我需要在最新頁面上降序排列而不更改主頁順序。 – Nilohn

0

此問題已由我解決。這個問題涉及無限滾動導航。我希望我的PHP代碼能夠幫助某人。你可以使用這個PHP代碼爲jQuery Infinite-Scroll分頁。如果您有任何問題,我在這裏。謝謝大家。