PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Problem mit Blätterfunktion von www.3d-community.com/page.phps (http://www.selfphp.de/forum/showthread.php?t=6254)

Slaughter 29.11.2003 22:37:46

Problem mit Blätterfunktion von www.3d-community.com/page.phps
 
Ich habe ein Problem mit der Blätterfunktion von www.3d-community.com. Ich habe die Funktion eingebaut, doch werden alle 10 Beiträge angezeigt, obwohl nur 7 angezeigt werde dürften. Unten werden zwar die Links angezeigt, doch die While Schleife wird nicht verkürtzt. :(

Hier habe ich kurtz mein Code:
PHP-Code:

<?php
    
include 'function.php';   
    
    
mysql_connect($mysql_host,$mysql_user,$mysql_pass) OR die(mysql_error());
    
mysql_select_db($mysql_db) OR die(mysql_error());
    
    if(isset(
$_GET['page'])) $page=intval($_GET['page']);
    else 
$page 1;
    
    
$sql "SELECT
                COUNT(ID) as Menge
            FROM
                Guestbook"
;
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_array($result) OR die(mysql_error());
    
$anzahl $row['Menge'];
    
$uproseite 7;
    
$pages ceil($anzahl/$uproseite);
    
$sql "SELECT
                   Name,Datum,Email,ICQ,Homepage,Beitrag,Subject
            FROM 
                   Guestbook
            ORDER BY 
                   Datum DESC"
;        
    
$result mysql_query($sql) OR die(mysql_error());
    while(
$row mysql_fetch_array($result)) {
         
$anzeige;
}
    
seitenzahl($page,$pages,"index.php?page=",3);
?>

Wo liegt bei meinen Script der Fehler?

Gweilo 30.11.2003 12:48:41

Das hat nichts mit meiner Blätterfunktion zu tun, sondern mit der Datenbankabfrage!

Baue doch ein LIMIT in die Abfrage ein, mit der Limite der anzahl einträge die du auslesen willst.

Slaughter 30.11.2003 17:05:30

Zitat:

Original geschrieben von Gweilo
Das hat nichts mit meiner Blätterfunktion zu tun, sondern mit der Datenbankabfrage!

Baue doch ein LIMIT in die Abfrage ein, mit der Limite der anzahl einträge die du auslesen willst.

Also so?
PHP-Code:

<?php
    
include 'function.php';   
    
     
mysql_connect($mysql_host,$mysql_user,$mysql_pass) OR die(mysql_error());
    
mysql_select_db($mysql_db) OR die(mysql_error());
    
    if(isset(
$_GET['page'])) $page=intval($_GET['page']);
    else 
$page 1;
    
    
$sql "SELECT
                COUNT(ID) as Menge
            FROM
                Guestbook"
;
    
$result mysql_query($sql) OR die(mysql_error());
    
$row mysql_fetch_array($result) OR die(mysql_error());
    
$anzahl $row['Menge'];
    
$uproseite 7;
    
$pages ceil($anzahl/$uproseite);
    
$sql "SELECT
                   Name,Datum,Email,ICQ,Homepage,Beitrag,Subject
            FROM 
                   Guestbook
            ORDER BY 
                   Datum DESC
            LIMIT 
                 "
.$uproseite;        
    
$result mysql_query($sql) OR die(mysql_error());
    while(
$row mysql_fetch_array($result)) {
         
$anzeige;
}
    
seitenzahl($page,$pages,"index.php?page=",3);
?>


Gweilo 30.11.2003 18:11:44

zum beispiel. Bei der zweiten seite müsstest du dann einfach
LIMIT ".($aktuelle_seite-1)*$uproseite+1.",".$uproseite
machen, da du ja auf der zweiten (usw.) Seite erst am dem x-ten element auslesen willst.

$aktuelle_seite-1, weil die aktuelle seite bei 1 beginnt
+1, am ende, weil das LIMIT von MySQL bei 1 beginnt zu zählen.

Slaughter 30.11.2003 21:54:47

Danke klappt perfekt!


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:37:31 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.