Anzeige:
Ergebnis 1 bis 13 von 13

Thema: Bestimmte Anzahl von Datensätzen aus @mysql_fetch_array() anzeigen

  1. #1
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302

    Lightbulb Bestimmte Anzahl von Datensätzen aus @mysql_fetch_array() anzeigen

    Hallo zusammen,

    wie kann ich am besten folgenden Wunsch umsetzen?
    In einer Datenbank-Tabelle habe ich X Datensätze, möchte diese aber nur jeweils in einer beschränkten Anzahl auf der Seite anzeigen, was mittels einem Vor- und Rückbutton gesteuert wird.

    Ich habe mich schon umgeschaut, viel gelesen und auch einen eigenen Lösungsansatz erstellt, bin mir aber nicht über die Effizienz so ganz im Klaren.
    Ganz toll wäre m. E., wenn die Möglichkeit besteht (SQL?) direkt nur die Anzahl von Sätzen aus der DB zuholen, die angezeigt werden sollen (es gibt keinen streng durchnummerierten Schlüssel) z. B. in 10ner Schritten.

    Wie kann/soll ich mein Script verbessern, welchen Lösungsweg habt ihr?
    Ich freue mich über jeden Hinweis.

    Danke, Jor
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  2. #2
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Dafür gibt es das LIMIT Attribut in SQL.
    Homepage: www.pingu.info

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302
    Hi Pingu,

    vielen Dank, werde gleich mal stöbern. :-)

    Ansonsten, wer vielleicht auch solch eine Seite als Beispielcode hat, wäre mir auch eine große Hilfe!
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  4. #4
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Zitat Zitat von Pingu Beitrag anzeigen
    Dafür gibt es das LIMIT Attribut in SQL.
    Vorsicht. Das gibt es nicht in allen Datenbanken und gehört nach meiner Kenntnis auch nicht zum SQL-Standard. MySQL und PostgreSQL unterstützen LIMIT und OFFSET, Oracle z. B. nicht (zumindest bis Version 10g). Dort kann man sich nur mit einem Hilfskonstrukt ("WHERE ROWNUM < 1000" z. B.) behelfen.

    Jan

  5. #5
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302
    Hallo Jan61,

    meine DB liegt auf einem MySQL-Server. So wie ich es ausprobierte, funzte das Holen von z. B. der ersten 5 Datensätze. Aber beim Holen der Datensätze
    von 5 bis 10 haute es nicht richtig hin. Entweder habe ich einen Fehler übersehen, oder es geht nicht so (.... limit 5, 10).
    Aber mittels ROWNUM werde ich es am Wochenende nochmal versuchen.

    Danke!
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  6. #6
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von Jor Beitrag anzeigen
    Hallo Jan61,

    meine DB liegt auf einem MySQL-Server. So wie ich es ausprobierte, funzte das Holen von z. B. der ersten 5 Datensätze. Aber beim Holen der Datensätze
    von 5 bis 10 haute es nicht richtig hin. Entweder habe ich einen Fehler übersehen, oder es geht nicht so (.... limit 5, 10).
    Aber mittels ROWNUM werde ich es am Wochenende nochmal versuchen.

    Danke!
    nächstes mal google nach limit und lies dir die doku dazu durch, dann
    erfährst du auch dass es für die datensätze 6,7,..,10 so gehen muss:
    versuchs mal mit limit 5,5

  7. #7
    Registrierter Benutzer
    Registriert seit
    07.05.2007
    Beiträge
    656
    Zitat Zitat von Jor Beitrag anzeigen
    ...
    Aber mittels ROWNUM werde ich es am Wochenende nochmal versuchen...
    Kenne ich nur - wie bereits geschrieben - von Oracle.

    Jan

  8. #8
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302
    @msi: Ich möchte nochmal betonen, dass ich gegoogelt habe! Ich lese auch die Dokus dazu durch und dass, bevor ich hier versuche Hilfe zu bekommen.
    Dennoch muss man dabei auch beachten, dass, wenn man von einem Bereich nicht viel, oder nur Basiswissen und Erfahrung hat, wie soll man da wissen, wo nach man für spezielle Informationen suchen kann/muss?

    2) @all: Ich habe nach den Angaben mittels Limit versucht einen definierten Teil von Datansätzen zu laden, Rownum kennt MySQL ja nicht (wie von jan61 beschrieben nur bei Oracle), es hat aber nicht so funktioniert wie erwartet. Werde es am Wochenende nochmal versuchen,
    falls ich nicht weiter komme werde ich euch nochmals nach dem Post meines Codes um Hilfe fragen.

    Schönes Wochenende und vielen Dank an alle!
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  9. #9
    Registrierter Benutzer
    Registriert seit
    14.01.2002
    Beiträge
    657
    Zitat Zitat von Jor Beitrag anzeigen
    @msi: Ich möchte nochmal betonen, dass ich gegoogelt habe! Ich lese auch die Dokus dazu durch und dass, bevor ich hier versuche Hilfe zu bekommen.
    Dennoch muss man dabei auch beachten, dass, wenn man von einem Bereich nicht viel, oder nur Basiswissen und Erfahrung hat, wie soll man da wissen, wo nach man für spezielle Informationen suchen kann/muss?

    2) @all: Ich habe nach den Angaben mittels Limit versucht einen definierten Teil von Datansätzen zu laden, Rownum kennt MySQL ja nicht (wie von jan61 beschrieben nur bei Oracle), es hat aber nicht so funktioniert wie erwartet. Werde es am Wochenende nochmal versuchen,
    falls ich nicht weiter komme werde ich euch nochmals nach dem Post meines Codes um Hilfe fragen.

    Schönes Wochenende und vielen Dank an alle!

    bei google einfach als suchbegriff mysql limit eingeben.
    das erste ergebnis beschreibt ganz genau wies geht.

  10. #10
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302
    Hi msi, hi *,

    habe es soeben nochmal versucht und es hat geklappt!
    So wie es eigentlich immer ist, es lag am Skript, ich hatte einen zweiten Eintrag übersehen und... nun, jetzt haut es hin.

    Allen Danke!
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  11. #11
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    mysql hat's gern so:

    Code:
    select * from tabelle limit 10 offset 3
    liefert 10 Datensätze ab dem 3. Datensatz
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

  12. #12
    Registrierter Benutzer
    Registriert seit
    25.10.2005
    Ort
    Hamminkeln
    Beiträge
    302
    Hi elrond,

    ich habe erfolgreich mit der Angabe "Limit x,y" Datensätze extrahiert, werde aber deinen Vorschlag auhc testen.

    Welche Schreibweise ist denn eher richtig oder geläufuger bei MySQL?

    Danke.
    Vereinfacht die Dinge, und ihr erleichtert euch das Leben. (Henry David Thoreau)

  13. #13
    Registrierter Benutzer Avatar von elrond
    Registriert seit
    03.10.2001
    Ort
    potsdam
    Beiträge
    881
    Zitat Zitat von Jor Beitrag anzeigen
    Welche Schreibweise ist denn eher richtig oder geläufuger bei MySQL?
    keine ahnung, ich finde nur, dass die ausführliche leichter verständlich ist...
    "Um die Welt zu ruinieren, genügt es, wenn jeder seine Pflicht tut." (Winston Churchill)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •