sql im iframe
dominique
- php
0 Tom1 Sven Rautenberg
Hey,
Ich habe eine PHP Datei die auf meine Datenbank zugreift. Wenn ich die Datei direkt aufrufe oder per include einbinde funktioniert alles wunderbar, die Daten werden ausgelesen und angezeigt.
Wenn ich aber die Datei aber über den iframe einbinde liefert mir num_rows immer ein leeres Ergebnis.
Kann ich keine sql Abfrage in nem iframe machen?
Liebe Grüße
Dominique
Hello,
Kann ich keine sql Abfrage in nem iframe machen?
Ich gehe davon aus, dass die SQL-Abfrage in einem PHP-Script auf dem Webserver stattfindet. Im iFrame des Dokumentes im Browser des Clients kannst du dann nur die Ressource aufrufen, die das Script startet. Und das ist grundsätzlich möglich.
Ohne nähere Kenntnis des Scriptes und der weiteren Zusammenhänge kann man aber mit guter Treffsicherheit nicht beantworten, warum es nicht so funktioniert, wie gewünscht.
Was sagen denn die Error-Logs von Webserver, PHP und ggf. Datenbank?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
Moin!
Hey,
Ich habe eine PHP Datei die auf meine Datenbank zugreift. Wenn ich die Datei direkt aufrufe oder per include einbinde funktioniert alles wunderbar, die Daten werden ausgelesen und angezeigt.
Wenn ich aber die Datei aber über den iframe einbinde liefert mir num_rows immer ein leeres Ergebnis.
Kann ich keine sql Abfrage in nem iframe machen?
Du kannst keine SQL-Abfrage im IFrame machen, weil der IFrame nichts ausführt, sondern nur eine Ressource vom Server lädt.
Diese Ressource kann ein PHP-Skript sein. Es läuft dann SEPARAT von allen anderen Skripten, die möglicherweise ebenfalls ausgeführt werden, insbesondere separat von dem Skript, welches die HTML-Seite erstellt, in dem dieser IFrame enthalten ist.
Wenn du also in der Seite, die den IFrame enthält, eine SQL-Abfrage machst, und das Ergebnis von num_rows dieser Abfrage in den IFrame transferieren willst, dann funktioniert das nicht, denn in dem Skript, welches den IFrame füllt, steht das Ergebnis von num_rows des ersten Skripts nicht mehr einfach so zur Verfügung, sondern muss entweder neu erzeugt werden (dieselbe SQL-Abfrage doppelt ausführen), oder z.B. via Session dorthin transferiert werden.
Ich vermute allerdings, dass du den IFrame lediglich zu Layout-Zwecken eingebaut hast, um auf eine einfache Weise einen gewünschten optischen Effekt zu erreichen. Das ist allerdings nicht sehr schlau, denn außer der Tatsache, dass du dadurch die SQL-Querys verdoppelst oder Sessions brauchst, hast du außerdem noch ZWEI HTTP-Requests anstatt einem.
Versuche lieber, den optischen Effekt ohne IFrame zu erreichen und die Ausgabe der num_rows in dem einzigen Skript zu realisieren.
- Sven Rautenberg
Hey,
vielen Dank für die Antworten!
Und ja, du hast Recht. Ich hab das nur aus optischen Gründen getan und den iframe einfach durch ne scrollbare div box ersetzt. Funktioniert prima und ist sauber!
Liebe Grüße