Hi Leute,
ich bastle gerade an einer Immobiliensuche und wollte gerade die Sortierung komplett umwerfen.
Vorher wurde immer absteigend nach dem Erstellungsdatum der Immobilie gesucht. Nun wollte ich das ganze System so umstellen, so dass, je nachdem auf welcher Homepage ich mich befinde, erst die Objekte des Homepagebesitzers erscheinen und danach die Objekte von anderen Maklern. Dafür habe ich in der Immobiliendatenbank das Feld "Anbieternummer" die einer Immobilie einen Makler zuweist.
Nun hatte ich mir überlegt, ich könnte 2 Selects ausführen und die erzeugte Arrays per array_merge zusammenführen. Allerdings weiß ich nicht wie ich die Limit Reglung anstellen soll, wenn meine Objektsuche immer nur 10 Objekte pro Seite ausspuckt.
Mal angenommen ich habe 15 Objekte die zu den Suchkriterien passen. Dann darf das 2. Select nur ab der 2. Seite ausgeführt werden. Das ist zwar alles machbar aber meiner Meinung nach viel zu kompliziert. Vor allem wenn ich noch eine Seite weiter wechsle, dann darf das Select erst da beginnen wo es auf der von der 2. Seite aufgehört hat.
Meine 2. Idee sieht wie folgt aus. Ich meine mich erinnern zu können, dass man in einer SELECT Anweisung ein IF-Kunstrukt einbauen kann aber irgendwie will das bei mir gerade gar nicht.
So schauts momentan aus:
Kann mir da vlt. einer von euch weiterhelfen ... egal ob zu dem 2. Select oder bei dem allgemeinen Problem ... vlt. kriege ich das ja auch viel einfacher gelösst und habe bis jetzt einfach zu kompliziert gedacht.
mfg DiDi
ich bastle gerade an einer Immobiliensuche und wollte gerade die Sortierung komplett umwerfen.
Vorher wurde immer absteigend nach dem Erstellungsdatum der Immobilie gesucht. Nun wollte ich das ganze System so umstellen, so dass, je nachdem auf welcher Homepage ich mich befinde, erst die Objekte des Homepagebesitzers erscheinen und danach die Objekte von anderen Maklern. Dafür habe ich in der Immobiliendatenbank das Feld "Anbieternummer" die einer Immobilie einen Makler zuweist.
Nun hatte ich mir überlegt, ich könnte 2 Selects ausführen und die erzeugte Arrays per array_merge zusammenführen. Allerdings weiß ich nicht wie ich die Limit Reglung anstellen soll, wenn meine Objektsuche immer nur 10 Objekte pro Seite ausspuckt.
Mal angenommen ich habe 15 Objekte die zu den Suchkriterien passen. Dann darf das 2. Select nur ab der 2. Seite ausgeführt werden. Das ist zwar alles machbar aber meiner Meinung nach viel zu kompliziert. Vor allem wenn ich noch eine Seite weiter wechsle, dann darf das Select erst da beginnen wo es auf der von der 2. Seite aufgehört hat.
Meine 2. Idee sieht wie folgt aus. Ich meine mich erinnern zu können, dass man in einer SELECT Anweisung ein IF-Kunstrukt einbauen kann aber irgendwie will das bei mir gerade gar nicht.
So schauts momentan aus:
Code:
SELECT im.*,b.pfad,s.global, IF (`im.anbieternr` = '1445') as `im.myOrder`
FROM immobilien im, immobilien_mls_settings s, anhaenge b
WHERE
im.objektnr_extern=b.objektnr_extern AND
im.objektnr_extern=s.objektnr_extern AND
b.gruppe='TITELBILD'
ORDER BY im.myOrder, im.geaendert_um DESC LIMIT 0, 10
Kann mir da vlt. einer von euch weiterhelfen ... egal ob zu dem 2. Select oder bei dem allgemeinen Problem ... vlt. kriege ich das ja auch viel einfacher gelösst und habe bis jetzt einfach zu kompliziert gedacht.
mfg DiDi
Zuletzt bearbeitet: