Tabelle kopieren (aber Updated)

Every_b

Mitglied
Hiho :)

Ich hab ne Frage, die ich in Google wahrscheinlich nicht gut genug formuliert bekomme - denke mal es ist so simpel dass es dafür zich Antworten gibt (die ich leider nicht finde..)

Folgendes:
Ich möchte eine Tabelle2, mit den Inhalten von Tabelle1 überschreiben.

Der Sinn zum Verständnis:
Tabelle1 wird verändert, auf der Ausgabe soll der Inhalt jedoch erst zu einem von mir festgelegten Zeitpunkt erscheinen.
Also nutze ich Tabelle2 als Temp.

Auf der Ausgabe wird der Inhalt der Tabelle2 angezeigt.
Per click will ich dann denn Inhalt von Tabelle1 auf Tabelle2 überschreiben - sprich aktualisieren.

Ich hoffe jeder hat verstanden was ich damit ausdrücken will :) Ich wäre sehr dankbar wenn mir dabei jemand helfen könnte.
Vielen Dank im Vorraus!

Dariy
 
Meiner Ansicht nach ist das viel zu aufwändig! Besser wäre es wenn du in Tabelle1 eine Spalte hinzufügst die du zB activated oder so nennst und den Wert beim Eintragen auf false setzt.

In einem Admin-Bereich lässt du dir alle Anzeigen die noch nicht aktiv sind und mit einem Button bzw. Link kannst du die dann aktivieren.

Bei der Ausgabe überprüfst du dann, ob activated true oder false ist.

zB so:

PHP:
$sql=mysql_query("SELECT * FROM Tabelle1 WHERE activated='true'") or die(mysql_error());

while($result=mysql_fetch_object($sql)){
     echo $result->Eintrag1;
}

mfg Nero
 
Danke nero_85 :) Die Idee ist eine Gute, und eigentlich auch einleuchtend.
Nur folgendes Problem macht das nicht möglich:

Ich möchte den Alten Datenstatus beibehalten.

Sprich, auf der Ausgabe sind noch die alten Daten sichtbar, aber eingegeben schon die neue. (Und somit in der Datenbank gespeichert)
Und dann halt, per Click auf nen Button, die Daten aus der Eingabe auf die Ausgabe aktualisieren.

Deshalb dachte ich, kommt man um eine "Temporäre" Datenbank nicht herum.
Vielleicht noch ein paar Ideen? :)

Gruß, Dariy
 
Da hast du allerdings recht! Das musst du dann Zwischenspeichern! Aber du könntest auch die Tabelle so aufbauen wie ich es dir vorgschlagen habe, und einfach eine weitere Spalte einfügen (die du zB. 'dump' nennst) in der du einen Stringspeicherst in dem die neuen Werte stehen, und zwar durch ein Trennzeichen getrennt (zB. "wert1;wert2;wert3").

Dann kannst du die alten Daten in der Tabelle stehen lassen bis die neuen aktiviert werden.

Wenn du dann auf "aktivieren" klickst musst du nur noch die Werte in der "dump"-Spalte auslesen und eintragen. Da könntest du dann mit der explode()-Funktion arbeiten.
 
Datenbanknormalisierung:
http://de.wikipedia.org/wiki/Normalisierung_(Datenbank)#Erste_Normalform_.281NF.29
Man schreibt nicht mehrere Werte in ein Datenbankfeld :>

Aber das Problem das du ansprichst existiert garnicht. Es lässt sich lösen, indem du versionsnummern abspeichern also 1 ist das aktuelle 2 wird das neue. Und an einer stelle kannst du angeben welche angezeigt wird. So würde man die alten inhalte dauerhaft aufheben, falls man doch nochmal darauf zurückgreifen möchte.
 
Zurück