PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit Blätterfunktion von www.3d-community.com/page.phps


Slaughter
29.11.2003, 21:37:46
Ich habe ein Problem mit der Blätterfunktion von www.3d-community.com (http://www.3d-community.com/page.phps). 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
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, 11:48:41
Das hat nichts mit meiner Blätterfunktion zu tun, sondern mit der Datenbankabfrage!

Baue doch ein LIMIT (http://www.mysql.com/doc/de/LIMIT_optimisation.html) in die Abfrage ein, mit der Limite der anzahl einträge die du auslesen willst.

Slaughter
30.11.2003, 16:05:30
Original geschrieben von Gweilo
Das hat nichts mit meiner Blätterfunktion zu tun, sondern mit der Datenbankabfrage!

Baue doch ein LIMIT (http://www.mysql.com/doc/de/LIMIT_optimisation.html) in die Abfrage ein, mit der Limite der anzahl einträge die du auslesen willst.

Also so?

<?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, 17: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, 20:54:47
Danke klappt perfekt!