xeta: Datenbankausgabe mit blätterfunktion ? :(

hallo,

ich habe folgendes Problem, ich würde gerne die ausgabe meiner Daten immer in max 10 Daten stückeln, die ich dann mitells button, vor zurück, bzw. die seitenazahlen anzeigen lasse. Wie google eben.

nur irgendwie weiss ich nicht wie ich anfangen soll.

Mein Dokument:

mtml-tags etc.

...

php-abschnitt
...

whille($daten=mysql_fetch_array($ausgabe))
{
// hier muss doch irgendwas möglich sein.
... ausgaben mit echo... aber unendlich lange

}

Habe ich die möglichkeit mit einem zähler was zu machen? vielleicht schleifen?

ich weiss es wirklich nicht.

z.b. meine datenbank enthält 200 sätze, wie stückele ich den jetzt die ausgabe in 10 pro seite?

Wäre wirklich klasse, wenn mir jemand weiterhelfen könnte. ich bin ratlos.

danke mfg xeta

  1. hallo,

    ich habe folgendes Problem, ich würde gerne die ausgabe meiner Daten immer in max 10 Daten stückeln, die ich dann mitells button, vor zurück, bzw. die seitenazahlen anzeigen lasse. Wie google eben.

    Benutze den LIMIT-Befehl in Deinem SQL, um nur die Resultate X-Y zu bekommen..
    Berechne jeweils aus "Treffer pro Seite" und "aktueller Anfang" die Variablen "voriger Anfang" und "nächster Anfang" (die brauchst Du für die Links "vor" und "zurück") und "aktuelles Ende" (die brauchst Du für den LIMIT-Befehl).

  2. Hallo

    Schau mal, die PHP-FAQ (http://dclp-faq.de) haben etwas für dich:
    17.10. Ich habe eine Tabelle mit n Einträgen und möchte auf jeder Seite m davon anzeigen
    http://www.dclp-faq.de/q/q-mysql-seitenweise.html

    Grüße
      David

    --
    >>Nobody will ever need more than 640k RAM!<<
    1981 Bill Gates
    1. Hallo,

      http://www.dclp-faq.de/q/q-mysql-seitenweise.html

      Ach menno, ich wollt' das grade schreiben und Du drängelst Dich vor. ;)

      Gruss, Thoralf

      --
      Sic Luceat Lux!
  3. hallo,

    ich habe folgendes Problem, ich würde gerne die ausgabe meiner Daten immer in max 10 Daten stückeln, die ich dann mitells button, vor zurück, bzw. die seitenazahlen anzeigen lasse. Wie google eben.

    nur irgendwie weiss ich nicht wie ich anfangen soll.

    Mein Dokument:

    mtml-tags etc.

    ...

    php-abschnitt
    ...

    whille($daten=mysql_fetch_array($ausgabe))
    {
    // hier muss doch irgendwas möglich sein.
    ... ausgaben mit echo... aber unendlich lange

    }

    Habe ich die möglichkeit mit einem zähler was zu machen? vielleicht schleifen?

    ich weiss es wirklich nicht.

    z.b. meine datenbank enthält 200 sätze, wie stückele ich den jetzt die ausgabe in 10 pro seite?

    Wäre wirklich klasse, wenn mir jemand weiterhelfen könnte. ich bin ratlos.

    danke mfg xeta

    also - der trick liegt in der db abfrage:

    SELECT * FROM gaestebuch;

    irgendwie so siehts wahrscheinlich aus...

    wenn du jetzt beispielsweise die einträge 20-29 angezeigt haben willst:

    SELECT * FROM gaestebuch LIMIT 10, 20;

    wobei 10 die anzahl der einträge und 20 der offset, also der erste eintrag den du haben willst ist.

    wenn du nun den offset in einer variable übergibst

    gaestebuch.php?offset=20

    dann braucht deine abfrage nur so auszusehen und es sollte funktionieren:

    SELECT * FROM gaestebuch LIMIT 10, "" . $offset . "';

    der neue offset auf der neu generierten seite muss nun halt um 10 höher sein - also

    $newOffset = $offset+10;

    und der link:

    print "<a href="gaestebuch.php?offset=" . $newOffset"">nächste 10 einträge</a>";

    hoffe das hilft!

    sid

    1. korrektur:

      print "<a href="gaestebuch.php?offset=" . $newOffset . "">nächste 10 einträge</a>";