![]() |
Anzeige:
|
|
|||||||
| PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL. |
|
![]() |
|
|
LinkBack | Themen-Optionen | Ansicht |
|
|
#1 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
|
Hallo,
Ich habe eine Tabelle mit mehreren Spalten in denen unteranderem die Spalten "Datum" und "Uhrzeit" vorhanden sind. Nun ist es so, dass dort Einträge gemacht werden. Frage: Wie kann ich das machen, dass nach ablauf des Datums, also einen Tag später, der Datensatz, der dieses Datum hat in eine andere Datenbank verschoben wird. Also in die einen Datenbank löschen und in die neue Datenbank reinkopieren. Geht das? Wenn ja, wäre es für mich günstig, wenn hier ein komplette Quelltext stehen könnte, da ich leider keine Kenntnisse mit PHP und MySQL habe. Danke schonmal
__________________
Treffen sich 2, einer kommt nicht |
|
|
|
|
|
|
#2 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 06.03.2005
Ort: Gera
Beiträge: 732
|
Hi,
meinst du erstmal in eine andere Datenbank kopieren oder nur in eine andere Tabelle aber der gleichen Datenbank kopieren? mfg Phill
__________________
Aus Fehlern wird man klug, drum ist einer nicht genug! Ich bin nur ein Opfer des Kapitalismus. |
|
|
|
|
|
#3 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
|
Ja, Sorry.
Habe ich falsch beschrieben. Schande über mein Haupt ![]() Also: Es soll in der einen TABELLE gelöscht werden und in eine andere TABELLE kopiert/verschoben werden. Also es ist alles in einer Datenbank...
__________________
Treffen sich 2, einer kommt nicht |
|
|
|
|
|
#4 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 18.07.2004
Ort: Schwabenländle
Beiträge: 922
|
ich versuche es mal frei Hirn:
Code:
<?php
// Zur DB verbinden usw ...
$Tabelle1 = "quelle";
$Tabelle2 = "ziel";
$sql = mysql_query("SELECT * FROM $Tabelle1;");
while ($x = mysql_fetch_object($sql)) {
// Datum im Format dd.mm.yyyy
// Zeit im Format hh:ii
$datum = split($x->Datum, ".");
$zeit = split($x->Zeit, ":");
// Eventuell auf Sommerzeit etc achten!
$time = mktime($zeit[1], $zeit[2], 0, $datum[1], $datum[0], $datum[2]);
$now = time();
if ($time < $now) {
// Dieser Zeitpunkt liegt in der Vergangenheit!
// Hier alten Dateneintrag löschen und per INSERT in die neue Tabelle (2) einfügen (nicht in dieser Reihenfolge :D) ... kommt auf den Tabellenaufbau an
}
}
?>
|
|
|
|
|
|
#5 (Direktlink) |
|
Weiß worum´s geht
![]() Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
|
Und den Code muss ich jetzt einfach so einfügen?
Was meinst du mit Timestamp? Tut mir Leid. Habe leider keine Kenntnisse in SQL und PHP.. *schäm*
__________________
Treffen sich 2, einer kommt nicht |
|
|
|
|
|
|
#6 (Direktlink) |
|
Forenmaskottchen
![]() Registriert seit: 18.07.2004
Ort: Schwabenländle
Beiträge: 922
|
Der Code wird so ohne weiteres nicht funktionieren.
Ohne Kenntniss der SQL-Tabelle lässt sich der Code nicht anpassen. Dazu wird das exakte Tabellenlayout und die Speicherform des Datums und der Zeit benötigt. Ein Timestamp ist die Zeit seit dem 01.01.1970 in Sekunden. Mit PHP-Funktionen kann man sehr leicht Strings in dieses Format umrechnen und anders herum. Timestamps haben den Vorteil, dass man sie direkt vergleichen kann. Dann hätte eine Abfrage wie $zeit = time(); SELECT * FROM Tabelle WHERE Zeit<$zeit; ausgereicht. Ohne Kenntnisse in PHP und/oder SQL wird es nicht gehen. |
|
|
|
![]() |
|
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|