Hallo Zusammen!
Ich habe gerade ein etwas mühsames Problem bei welchem ich nicht so recht weiss wie ich es lösen soll. Sorry für den langen Text, aber ich versuche das Problem so genau wie möglich zu Beschreiben:
Ich baue mir momentan eine Datenbank für meine Filme mit HTML (& CSS), PHP (& MySQL) und JavaScript. Von HTML und PHP habe ich schon ausreichend Vorwissen, in JavaScript habe ich mich erst mit diesem Projekt eingearbeitet.
Nun habe ich für diese Datenbank eine Seite bei welcher ich neue Filme eintragen kann. Damit ich nicht jeden Film einzeln eintragen muss, habe ich eine Textarea erstellt. In dieser Textarea kann ich auf jeder Zeile einen Film eintragen. Wenn ich dann auf einen Button klicke wird mir für jede eingetragene Zeile ein Textfeld mit dem entsprechenden Filmtitel erstellt. Diese Textfelder sind fortlaufend und eindeutig nummeriert (z.B. name="Filmtitel1" name="Filmtitel2" usw.)
Nun gibt es eine inoffizielle IMDb API bei welcher ich nach dem Filmtitel suchen kann und mir ein XML mit den jeweiligen anderen Werten (Erscheinungsjahr, Originaltitel, Bewertung, ...) liefert.
Ich würde jetzt gerne auf einen weiteren Knopfdruck diese drei Werte zu den jeweiligen Filmtiteln (in drei weiteren Textboxen) eintragen. Der Knackpunkt an der API ist, dass sie nur eine Abfrage gleichzeitig zulässt und es 1-2 Sekunden dauert bis die Werte verarbeitet sind.
Ich habe das ganze mit einer while Schleife versucht, aber dann werden nur die Werte für den letzten Film eingetragen. Ich vermute das liegt daran weil die while Schleife so schnell durchläuft, aber die Antwort des Servers so lange dauert.
Gibt es nun eine Möglichkeit eine Abfrage nach der anderen durchzuführen? Mir ist klar, dass der Benutzer unter Umständen in dieser Zeit nichts machen kann. Da aber die Datenbank eh nur von mir benutzt wird spielt das eigentlich keine Rolle, ich könnte das ganze auch mit einer Ladeanimation überbrücken.
Klar könnte ich einen Knopf für jede Zeile erstellen, aber mir wäre es lieber wenn ich alle Abfragen mit einem Knopfdruck erledigen könnte.
Grüsse