etops Geschrieben 21. November 2003 Teilen Geschrieben 21. November 2003 Hallo, ich habe mit PHP eine Datenbankabfrage gezimmert, die bestimmte Daten aus einer MySQL-Datenbank in HTML ausgibt. Nun habe ich aber leider keinen blassen Schimmer, wie ich das Ergebnis der Datenbankabfrage in eine Datei speichern kann. Es geht nämlich darum, diese Daten quasi zu "sichern", um dann mit der neu angelegten Datei weiterzuarbeiten. Hat jemand einen Tip für mich, wie das geht? Danke etops Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 21. November 2003 Autor Teilen Geschrieben 21. November 2003 Ok, bin schon mal nen Schritt weiter, indem ich das mit "SELECT into OUTFILE" machen kann, aaaaaaaaaaaber: es geht um die Felder/Werte einer dynamisch angelegten Tabelle (diese Tabelle stammt von einer anderen "Basistabelle" ab) - wie kann ich darauf zugreifen? Danke + Gruß etops Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 21. November 2003 Teilen Geschrieben 21. November 2003 einfach deinen normalen sql ausführen und dann mit der ergebnismenge ab in ein file: fwrite Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 24. November 2003 Autor Teilen Geschrieben 24. November 2003 Ok, ich glaube, ich habe mich etwas unglücklich ausgedrückt. Ich möchte folgendes tun: Eine Abfrage aus einer MySQL-DB wird ausgeführt, die Zeilen werden zeilenweise eingelesen, dann werden bestimmte (neue) Felder berechnet und alles wird dann in einer HTML-Tabelle ausgegeben. Ich hätte aber gerne, daß diese Tabelle auch in einer MySQL-Tabelle gespeichert wird (diese neue Tabelle ist schon erledigt). Mein Ansatz war, jede Zeile in ein Array zu speichern und dieses dann wieder zeilenweise in die neue Tabelle zu schreiben. Aber irgendwie funktionierts nicht. Hat jemand einen Tip, wie ich das so (oder anders?) machen kann? Danke!! etops Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EvilNick Geschrieben 24. November 2003 Teilen Geschrieben 24. November 2003 Die eine Möglichkeit wäre deine, das sollte eigentlich funktionieren. Welche Fehlermeldung bringt er denn? In MS-SQL klappt auch folgendens: INSERT INTO suche_temp SELECT * FROM vorlagen WHERE dateiname LIKE '*" & suchtext & "*'" In mySQL habe ich das bisher noch nicht getestet. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
beetFreeQ Geschrieben 24. November 2003 Teilen Geschrieben 24. November 2003 INSERT INTO .. SELECT funzt (siehe hier: http://www.mysql.com/doc/en/INSERT_SELECT.html ) Man kann AFAIK auch schreiben CREATE TABLE .. SELECT - damit würde die Tabelle mit dem Statement auch direkt angelegt werden - ganz nützlich, wenn die Feldanzahl etc. dynamisch sind... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etops Geschrieben 24. November 2003 Autor Teilen Geschrieben 24. November 2003 Also bis jetzt mache ich es so: Ich lese zunächst den Inhalt einer MySQL-Tabelle zeilenweise ein und berechne 0 bis n neue Felder neu. Anschließend werden die Inhalte der Felder (gespeichert in Arrays) in einer HTML-Tabelle ausgegeben. So weit so gut, funktioniert auch alles. Jetzt soll aber der Inhalt der HTML-Tabelle in eine neue Tabelle innerhalb der MySQL-Datenbank gespeichert werden...und da verließen sie ihn. Mein Ansatz ist folgender: ... $feldliste = array(...); // enthält die einzelnen Arrays von oben $insert_values = array(); foreach ($feldliste as $feldliste) { $insert_values[] = $dbh->quote($GLOBALS[$feldliste]); } $einfuegen = 'INSERT INTO newdata (' . join(',',$feldliste) . ') VALUES (' . join(',',$insert_values) . ')'; [/PHP] Ich bekomme hier die Fehlermeldung "Error 1065: Query was empty" Was mache ich falsch bzw. hat jemand eine andere Idee zur Problemlösung? Ich bin hier am Verzweifeln und dankbar für jede Hilfe!! Gruß etops Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MasterC Geschrieben 24. November 2003 Teilen Geschrieben 24. November 2003 Ich würd die Feldberechungen nicht in PHP, sondern in SQL, also direkt auf der Datenbank machen. Das spart eindeutig Rechenzeit und bereitet dir auch weniger Probleme mit Schnittstellen. Die anzeige in HTML kannst du dann ja einfach mit einer neuen Abfrage aus der TMP-Tabelle füllen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.