Hallo zusammen,
ich habe eine PHP-Andwendung mit Datenbank-Anbindung geschrieben, die eine Fahrplanverwaltung darstellt. (Es gibt also eine Datenbank, in der Abfahrten zu unterschidelichen Zeitpunkten an diversen Stationen gespeichert sind und die man nach passenden Fahrten durchsuchen kann.)
Ich möchte nun Fahrplandaten anderer Anbieter per Webservice holen und in die Suchergebnisse integrieren. Das heisst, die Fahrten der anderen Anbieter sollen bei entsprechender Suche mit in der -- nach Abfahrstszeit, Preis und Fahrtdauer sortierten -- Ergebnisliste mit auftauchen.
Wie macht man sowas am geschicktesten? Da die Sachen mit denen in der DB zusammen sortiert werden sollen, müssen sie wohl auch -- zumindest temporär -- mit in meine DB auf dem Server.
Ich habe mir schon etwas Gedanken gemacht und denke ja, es gibt prinzipiell (mindestens) zwei Möglichkeiten:
1) Man fügt ein neues Feld "temporär (BOOL)" zur Abfahrtstabelle hinzu und schreibt die per Webservice geholten Daten mit TRUE rein (alle anderen mit FALSE), nach dem Query löscht man die temporären Sachen.
2) Man macht eine zweite temporäre Tabelle, sucht per union select auch in der und löscht nach dem Query die ganze Tabelle wieder.
Bei beiden Sachen muss man noch sicherstellen, dass das auch bei parallelen Queries von mehreren Clients (Webseitenbesuchern) funktioniert, zB, in dem man noch einen QueryID-Feld einfügt (bei Lösung 1) oder halt den Tabellennamen eindeutig für den Client wählt (bei Lösung 2).
Oder gibt es eine übliche, bessere Lösung?
Vielen Dank für alle Vorschläge!
ich habe eine PHP-Andwendung mit Datenbank-Anbindung geschrieben, die eine Fahrplanverwaltung darstellt. (Es gibt also eine Datenbank, in der Abfahrten zu unterschidelichen Zeitpunkten an diversen Stationen gespeichert sind und die man nach passenden Fahrten durchsuchen kann.)
Ich möchte nun Fahrplandaten anderer Anbieter per Webservice holen und in die Suchergebnisse integrieren. Das heisst, die Fahrten der anderen Anbieter sollen bei entsprechender Suche mit in der -- nach Abfahrstszeit, Preis und Fahrtdauer sortierten -- Ergebnisliste mit auftauchen.
Wie macht man sowas am geschicktesten? Da die Sachen mit denen in der DB zusammen sortiert werden sollen, müssen sie wohl auch -- zumindest temporär -- mit in meine DB auf dem Server.
Ich habe mir schon etwas Gedanken gemacht und denke ja, es gibt prinzipiell (mindestens) zwei Möglichkeiten:
1) Man fügt ein neues Feld "temporär (BOOL)" zur Abfahrtstabelle hinzu und schreibt die per Webservice geholten Daten mit TRUE rein (alle anderen mit FALSE), nach dem Query löscht man die temporären Sachen.
2) Man macht eine zweite temporäre Tabelle, sucht per union select auch in der und löscht nach dem Query die ganze Tabelle wieder.
Bei beiden Sachen muss man noch sicherstellen, dass das auch bei parallelen Queries von mehreren Clients (Webseitenbesuchern) funktioniert, zB, in dem man noch einen QueryID-Feld einfügt (bei Lösung 1) oder halt den Tabellennamen eindeutig für den Client wählt (bei Lösung 2).
Oder gibt es eine übliche, bessere Lösung?
Vielen Dank für alle Vorschläge!
Kommentar