Datenbankabfrage in neue Tabelle schreiben
Thomas
- php
0 Thomas Luethi0 Thomas
Hallo,
ich habe mit PHP und MySQL eine Datenbankabfrage zusammengezimmert, die die ursprüngliche Tabelle sowie einige weitere Werte (die mit PHP berechnet werden) in HTML ausgibt. Funktioniert auch so.
Ich würde nur gerne das, was ich als HTML-Tabelle ausgegeben bekomme, auch gern in eine neue MySQL-Tabelle speichern. Leider habe ich nur keinerlei Idee, wie das geht.
Hat jemand eine Lösung oder zumindest einen Ansatz für mich?
Danke
Thomas
Hallo,
Ich würde nur gerne das, was ich als HTML-Tabelle ausgegeben bekomme, auch gern in eine neue MySQL-Tabelle speichern.
Wenn Deine MySQL-Version genug aktuell ist, kannst Du es
wie folgt versuchen:
INSERT INTO TabelleNeu SELECT *blabla* FROM *xyz*
http://www.mysql.com/doc/en/INSERT_SELECT.html
Das spart Dir den Umweg ueber PHP/Schleifen u.s.w.
Und in den neueren MySQL-Versionen (und sofern es
erlaubt ist) kann man auch Temporaere Tabellen machen:
CREATE TEMPORARY TABLE TabelleTemp u.s.w.
http://www.mysql.com/doc/en/CREATE_TABLE.html
Gruesse,
Thomas
Mein Problem existiert immer noch, nur in leicht abgewandelter Form: Syntaktisch funktioniert alles, aber die Bearbeitung durch den Server führt nach ca 10-15Min zu einem Timeout.
Ich seh wahrscheinlich vor lauter Bäumen den Wald nicht mehr - bitte um Hilfe: Was mache ich falsch. Der Codeabschnitt, der sich mit der DB beschäftigt, lautet folgendermaßen:
Eine leere Zieltabelle ist bereits angelegt; sie soll nur noch mit Werten gefüllt werden.
while ($zeile = @ mysql_fetch_array($ergebnis)) // zeilenweises Einlesen der Quell-DB
{
verschiedene Berechnungen, von neuen Feldern
echo "\n<table>\n"
echo "\n<tr>";
echo "\n\t<td>{$zeile["feld1"]}</td>"; // Feld der Quell-DB
echo "\n\t<td>{$zeile["feld2"]}</td>"; // Feld der Quell-DB
echo "\n\t<td>{$zeile["feld3"]}</td>"; // Feld der Quell-DB
echo "\n\t<td>{$zeile["feld-a"]}</td>"; // neu berechnetes Feld
echo "\n\t<td>{$zeile["feld-b"]}</td>"; // neu berechnetes Feld
echo "\n</tr>";
echo "\n</table>"; // Ausgabe der berechneten Felder in HTML - Tabelle
// bis hierhin funktioniert alles inklusive
// Berechnung der neuen Felder
$num_rows = mysql_num_rows($ergebnis);
while ($num_rows >= 1)
{
$einfuegen;
}
}
$abfrage = "SELECT feld1, feld2, feld3 FROM basisdata";
$einfuegen = mysql_query("INSERT INTO newdata (feld1, feld2, feld3, feld-a, feld-b)
VALUES (' ".$zeile["feld1"]." ',' ".$zeile["feld2"]." ',
' ".$zeile["feld3"]." ',' ".$zeile["feld-a"]." ',
' ".$zeile["feld-b"]." ')");
if (!(ergebnis = @ mysql_query ($abfrage, $connection)))
showerror();
Es wäre toll, wenn mich jemand mal auf das Problem stoßen könnte oder evtl sogar eine Lösung hätte!
Danke schon mal,
Gruß
Thomas