-
Forum: Datenbanken
by Luckie,
9. Jun 2010
Ach so. OK, ja, dann hätte ich das, was ich wollte auch mit deiner Lösung. Aber ich habe es ja jetzt.
-
Forum: Datenbanken
by Luckie,
9. Jun 2010
Es ging nicht um Pagination. Ich wollte von einem zum nächste bzw. vorherigen Datensatz blättern können mit Links.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Na ja, das ist eine Datenbank für meine privaten Kontakte. Da sind gerade mal 58 Datensätze drin. Da werden wahrscheinlich nie so viele reinkommen, dass man da was optimieren müsste. ;)
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Ja, dann funktioniert es.
So, besten Dank für eure Mühe und Geduld. Jetzt habe ich es so, wie ich es haben wollte.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Irgendwas habe ich übersehen:
SELECT id FROM adressen
WHERE
(gesch_firma < ( SELECT gesch_firma FROM adressen WHERE id = $id ))
OR
((gesch_firma = ( SELECT gesch_firma FROM adressen WHERE id = $id ))
and
(name < ( SELECT name FROM adressen WHERE id = $id )))
OR
...
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Jetzt willst du es aber wissen, was? ;) Ich werde deine Version morgen mal ausprobieren. Jetzt muss ich erst mal gucken, dass ich die Sortierreihenfolge der Liste und beim Blätter gleich hinbekomme, sonst ist das etwas verwirrend.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Asche auf mein Haupt. Es sind alle da. Ich hatte beim ersten testen nur in der Mitte angefangen und zufällig wo die Firmen anfangen. Als er dann die Firmen durch hatte, dachte ich die privaten Kontakte würden Fehlen, aber die lagen ja DAVOR. das lag aber auch daran, will ich die Übersichtsliste noch nach der Kategorie (Arzt, Geschäftlich, Privat) sortiert habe. da kommen erst alle Ärze...
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
@Idefix: Werde ich mal probieren. Du meinst die Statements von DeddyH?
Bei allen drei Updates waren 0 Zeilen betroffen. Es stand also nirgendwo NULL in den betroffenen Feldern.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Nein, das weiß ich natürlich nicht.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Äh doch. Die aktuelle Datensatz ID kenne ich. Siehe meinen ersten Beitrag. Oder was meinst du mit Offset?
Nein keine Pagination, die habe ich schon. Ich will jeden einzelnen Datensatz nacheinander durchblättern können.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Ergebnis sind alle Datensätze sortiert. Zu erst die mit leerer Firma und Name, also nur mit Vornamen, dann alle mit Namen und Vornamen und dann alle mit Firma alphabetisch nach Firma.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Wie meinst du das? Gib doch mal bitte das komplette SQL-Statement an, was du meinst.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Richtig. Es können aber auch Datensätze mit leerer Firma und/oder leerem Namen und/oder leerem Vornamen rauskommen. Wobei mindestens eins von den drei Felder belegt ist (sonst macht der Datensatz keinen Sinn). Zum Beispiel bei privaten Kontakten ist Firma leer und Name und Vorname belegt, wobei Name muss auch nicht unbedingt belegt sein in so einem Fall.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Ich bin in SQL auch nicht so fit und da haben mir die SQL-Statements schon ziemliche Kopfschmerzen bereitet. Aber es kann doch nicht sein, dass ich der erste bin, der so eine Datensatz-Durchblätter-Funktion haben will. ;)
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Oh, es war H4ndy.
Ja, ich habe es mit verschiedenen Datensätzen ausprobiert.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Nein, wie gesagt, da bekomme ich eine leere ID zurück. Dann werde ich es doch wohl so machen wie himitsu es vorgeschlagen hat und es einzeln machen müssen.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Also NULL kann keines der Felder werden. Siehe Anhang.
Ich werde das von DeddyH mal probieren. Was macht den CONCAT_WS? das kenne ich nicht.
Hm, das liefert gar keine ID.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
@Idefix: Jetzt geht er aber nur die Datensätze durch, bei denen das Feld gesch_firma nicht leer ist. Aber ich brauche natürlich auch alle anderen, also bei denen gesch_firma oder name oder vorname leer ist.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Ja, ich brauche nur die ID. Aber Optimierung kommt später. Erst mal soll es überhaupt funktionieren.
@Idefix: Ich werde deine Lösung nachher mal ausprobieren.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Deswegen limitiere ich das ja auf einen Datensatz.
Prinzipiell müsste eine Bedingung bei drei Sortierkriterien a,b und c in etwa so aussehen:
where (a>a0) or ((a=a0) and (b>b0)) or ((a=a0) and (b=b0) and (c>c0))
Aber a0, b0 und c0 habe ich ja nicht.
Nein, nur Leerstrings.
-
Forum: Datenbanken
by Luckie,
8. Jun 2010
Ich versuche gerade mit einem SQL-Statement die ID des nächsten Datensatzes zu bekommen:
function getNextID($id) {
$query = "SELECT * FROM adressen
WHERE
(gesch_firma > ( SELECT gesch_firma FROM adressen WHERE id = $id ))
OR
(name > ( SELECT name FROM adressen WHERE id = $id ))
OR
(vorname > ( SELECT vorname FROM adressen WHERE id = $id ))...