Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Datenbankabfrage (PHP/MySQL) in Datei speichern

Empfohlene Antworten

Veröffentlicht

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

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

einfach deinen normalen sql ausführen und dann mit der ergebnismenge ab in ein file:

fwrite

Ok, ich glaube, ich habe mich etwas unglücklich ausgedrückt. :rolleyes:

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

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.

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

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.