2017-04-12 2 views
0

Meine Website zieht derzeit meine Inhalte basierend auf rowid, jedoch gibt es eine Seitenzahl basierend auf DESC Auftrag. Für einige ist das in Ordnung, aber wenn ich einen neuen Artikel zu meiner Website hinzufüge und jemand auf die nächste Schaltfläche klickt, kann er sie manchmal auf dieselbe Seite bringen, wenn ich innerhalb der Zeit, in der sie auf die nächste Schaltfläche geklickt haben, eine neue Seite hinzufüge.So erhalten Sie Seitenzahlen basierend auf der ID

$limit = 1; 
    if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; }; 
    $start_from = ($page-1) * $limit; 

    $sql = "SELECT * FROM article ORDER BY id DESC LIMIT $start_from, $limit"; 
    $rs_result = mysql_query ($sql); 

Ich möchte immer noch den letzten Eintrag in meiner Datenbank (höchste Zeile ID) angezeigt werden. Neugierig, was ich falsch mache.

+0

Drucken Sie die '$ sql' und überprüfen Sie die Abfrage –

+0

Ich würde vorschlagen, ein separates Seitennummernfeld zu verwenden. Wenn Ihre Seitenzahlen Teil der URL sind und ein Buch eine Seite markiert, ist ihr Lesezeichen ungültig. –

+0

Es funktioniert so, wie es ist, aber da es nach absteigender Reihenfolge sortiert wird, wird die Seiten-ID inkrementiert. Also mein letzter Eintrag war Zeile ID 56, die Seitenzahl wäre nicht 56, es wäre 1. – JayMax

Antwort

0

Ich habe es herausgefunden. Das macht es so, wenn der Benutzer Ihre index.php Seite besucht, leitet er sie zum neuesten Post um. Ich habe eine Tabelle für PageID hinzugefügt und sie auf 9999999999 gesetzt. Ich bezweifle, dass ich so viel Inhalt posten konnte.

<?php 
$rowcountprep = mysql_query("SELECT * FROM articles"); 
$rowcount = mysql_num_rows($rowcountprep); 
if (!$_GET["page"]) 
{ 
$total = '10000000000'; 
$current = $total-$rowcount; 
?> 
<script>window.location="example.com/index.php?page=<?php echo 
$current; ?>"</script> 
<?php 
} 
?> 

Dank @SloanThrasher für die Hilfe.

Verwandte Themen