[mysql] ersten 3 einträge nicht auslesen...
Hacky
- php
Ich hab noch ein prob wegen einer Kinopage. Ich will unter der Rubrik 'Archiv' alle gelaufenen Filme unterbringen. Es soll mir alle auflisten aber nicht die ersten 3 Einträge sondern alle nach den ersten 3. Weil die ja noch aktuell sind und deswegen nicht ins Archiv gehören. Und wenn ich 3 neue eintrage sollen ins archiv weiterrutschen.
hi,
Es soll mir alle auflisten aber nicht die ersten 3 Einträge sondern alle nach den ersten 3.
SELECT ... FROM ... WHERE ... ORDER BY ... LIMIT 3, 999999
alle ab dem 3. (zählung beginnt bei 0) bis zum (sehr hohe zahl)-ten.
gruss,
wahsaga
Halihallo Hacky
Ich hab noch ein prob wegen einer Kinopage. Ich will unter der Rubrik 'Archiv' alle gelaufenen Filme unterbringen. Es soll mir alle auflisten aber nicht die ersten 3 Einträge sondern alle nach den ersten 3. Weil die ja noch aktuell sind und deswegen nicht ins Archiv gehören. Und wenn ich 3 neue eintrage sollen ins archiv weiterrutschen.
Erstens: Anrede vergessen, das sehen wir hier gerne.
Zweitens: Verabschiedung vergessen, das sehen wir hier gerne.
Drittens: Da LIMIT
(http://dev.mysql.com/doc/mysql/en/SELECT.html) hier keine
wirklich gute Lösung[1] ist, würde ich vorschlagen, dass du entweder:
SELECT <field-list>
FROM <table-list>
WHERE <conditions>
LIMIT 3,99999999999999
an deine Bedürfnisse anpasst, oder einfach die ersten drei Datensätze
ausliest, ohne sie anzuzeigen.
[1] Nunja, man muss notwendigerweise ein "Ende" bei LIMIT zu setzen.
Falls dies in der Aufgabenstellung nicht gefordert ist, begeht man
einen Programmierfehler, zumindest aber eine gewisse Unschönheit.
Ich würde also zur Lösung tendieren, einfach die ersten drei
Datensätze zu ignorieren. Falls jedoch eine Art "Zeige Seite 1 von
5, Datensatz 1-10" o.ä. vorkommt, macht LIMIT wieder Sinn. Hier
könnte ich mir dann folgendes Vorstellen:
1. Seite: LIMIT 2, 10 (10 Datensätze)
2. Seite: LIMIT 12, 10 (10 Datensätze)
3. Seite: LIMIT 22, 10 (10 Datensätze)
Viele Grüsse
Philipp
Es soll mir alle auflisten aber nicht die ersten 3 Einträge sondern alle nach den ersten 3.
SELECT * from deinetabelle ORDER BY datumspalte LIMIT 3,20
LIMIT 3,20 bedeutet ab dem 3. Datensatz 20 Datensätze abfragen, diejenigen davor werden weggelassen
Hallo, sam
SELECT * from deinetabelle ORDER BY datumspalte LIMIT 3,20
http://www.dclp-faq.de/q/q-sql-select.html
SCNR ;)
mfg,
Philip
SELECT * from deinetabelle ORDER BY datumspalte LIMIT 3,20
http://www.dclp-faq.de/q/q-sql-select.html
War auch nur ein Beispiel. * kann man schon verwenden für gewisse Anwendungen, kommt immer darauf an für was man die Datenbank braucht.
Wirklich eine Rolle spielt das sowieso nur bei grösseren Datenabanken, oder bei solchen die später noch erweitert werden sollen.
Hallo,
War auch nur ein Beispiel. * kann man schon verwenden für gewisse Anwendungen, kommt immer darauf an für was man die Datenbank braucht.
Wirklich eine Rolle spielt das sowieso nur bei grösseren Datenabanken, oder bei solchen die später noch erweitert werden sollen.
Das stimmt schon. Deshalb auch das SCNR ... man sollte jedoch meiner Meinung nach versuchen, * wirklich nur dort zu verwenden, wo es auch benötigt wird ...
mfg,
Philip
Das stimmt schon. Deshalb auch das SCNR ... man sollte jedoch meiner Meinung nach versuchen, * wirklich nur dort zu verwenden, wo es auch benötigt wird ...
Das ist auf jeden Fall am saubersten