hallo andi !
pffuu… wo soll man da anfangen…
aber ich werds probieren :
zuerst solltest du dir mal alle datensätze auslesen damit du weisst wieviel da sind, damit du dir die seitenanzahl ausrechnen kannst, das machst du so:
if ($conn) {
$sql=„SELECT * FROM gaestebuch“;
$result = mysql_query($sql, $conn) or die (mysql_error());
$gesamt=mysql_num_rows($result);
$seiten=ceil($gesamt/$anzahl); // ganze zahl draus machen
} else echo „error, bla bla…“;
so… jetzt hast du die seitenanzahl -> $seiten
jetzt musst du dir die aktuelle seite berechnen, wenn am anfang $start 0 ist, ist die aktuelle seite klarerweise 1, klar ?
if ($start==0) $aktseite=1; // die Seite 0 gibts ned, daher machen wir 1 draus
if ($off>0) {
$aktseite=$start/$anzahl+1; //berechnen der aktuellen Seite
}
so… und jetzt kannst du den link zur nächsten seite anzeigen, ich möchte nur anmerken, dass das eine navigation ohne seitennummern wird, mit seitennummern wäre es jetzt ein bischen zu „umfangreich“ .
also:
echo "Seite $aktseite von $seiten ";
// abfragen ob nächste und vorherige seiten auch dargestellt werden soll
if($start>=$anzahl) // anzeigen der vorherigen seite nur wenn es auch ein vorherige gibt !
echo"vorherige Seite ";
if($anzahl==$anz || $newsbeitraegenächste Seite
";
anmerkung zu der variablen $anz:
die holst du dir aus der mysql abfrage, die du unten bereits geschrieben hast, einfach nach der abfrage unten dazufügen:
$anz=mysql_num_rows($result);
so… ich hoffe du kennst dich „halbwegs“ aus, und ICH hoffe, ich habe keine variablennamen durcheinandergebracht, ich hab das aus meinem script genommen und dementsprechend adaptiert.
gutes gelingen
grüsse
wiesi
ps: links zu php sind doch glaub ich ehh unten in der brettbeschreibung angeführt oder ?
hi danke für deine schnelle Antwort. Habe gester 10 Minuten zu
Früh Feierabend gamacht, dachte eigendlich nicht mehr das ich
noch eine Antwort bekommen:smile: zu dieser Zeit.
Ich habe das ganze schon in mysql gemacht mit folgenden Felder
ID auto_increment
Datum
name
email
komment
Also habe alles sogemacht, und hat auch geklappt. Aber mit der
Abfrage habe ich da so meine Probleme. Ich habe das ganze so
gemacht, ich glaube aber nicht das das die beste Lösung ist.
<?php : $ID =$_POST[ID];
$datum =$\_POST[datum];
if ($start == 0)
$start = 0;
$anzahl = 10;
$db\_link = mysql\_connect("localhost", "", "") or
die(mysql\_error());
mysql\_select\_db("datenbank",$db\_link);
$result = mysql\_query("SELECT \* FROM gaestebuch ORDER BY
datum DESC LIMIT $start,$anzahl");
while ($ds = mysql\_fetch\_array($result))
{
echo "id=\"zahler\" value= \"1\"\>";
echo " ";
echo " ";
echo "Vorname".$ds[name]."";
echo "E-mail".$ds[email]."";
echo "Kommentar".$ds
[komment]."";
echo "Aktuelle
Datum".$ds
[datum]."";
echo "";
}
?\>
das ganze habe ich dann runter kopiert und das gleich dann mit
der mit der Abfrage ob $start 11 ist gemacht dann spring er
mir schon auf die andere Seite aber ich glaub das das so nicht
korrekt ist oder?
Und wie geht das dann weiter wenn ich mehrere Einträge sind so
40 oder 50 dann muss ich doch den Link immer manuel angeben
oder?
Soll ich da so was wie ein Zähler einbauen?
Sorry aber wie isch schon sagte php ist nicht so mein Ding
hoffe ich habe mich klar ausgedrückt und du kannst mir da noch
ein Tipp geben
mfg
andi
> hallöchen !
>
> also, ein kleiner denkanstoss zu später/früher stunde !
> du legst also die anzahl der auf einer seite darzustellenden
> beiträge fest (in deinem fall also anscheinend 10)
> du holst dir aus der datenbank die ersten 10 beiträge
> $sql="SELECT \* FROM dein\_table ORDER BY sortierkriterium DESC
> LIMIT startwert,anzahl"; (startwert am anfang 1, anzahl 10)
> beim aufruf des links "nächste seite" (zb) gibst du ihm eine
> variable mit von der er zu abfragen beginnen soll, im fall der
> seite 2 also 11
> (also zb. so: