CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
07.08.2007, 17:58:33
|
Anfänger
|
|
Registriert seit: Mar 2006
Beiträge: 11
|
|
Datum zu jedem Datenbankeintrag ausgeben
Hallo Leute
diesen Beitrag > http://www.selfphp.de/forum/showthre...ighlight=Datum hab ich gelesen und es geschafft, das Datum des letzten Beitrags anzuzeigen.
Was ich aber brauche ist folgendes:
1. Ein Datenbankeintrag wird gemacht und auf der Website angezeigt
2. Zu diesem Beitrag soll nun auch das Datum angezeigt werden, welches zeigt, wann der Eintrag gemacht wurde.
3. Ein neuer Datenbankeintrag wird gemacht und wieder wird das Datum mit angezeigt, welches zeigt, wann dieser neue Eintrag gemacht wurde.
4. etc.
Ich habe eine Tabelle mit drei Spalten:
Code:
$sql = "CREATE TABLE IF NOT EXISTS ".$cfg['tab']['4_form']."
(
`id_4_form` int(11) NOT NULL auto_increment,
`datum` date NOT NULL default '0000-00-00',
`eintrag` tinytext NOT NULL,
PRIMARY KEY (`id_4_form`)
) TYPE=MyISAM
";
$db->query($sql);
[
Schickt man das Formular ab, werden die Daten in die DB eingetragen:
PHP-Code:
if ($_POST["submit"]) {
$cfg['tab']['4_form'] = $cfg['sql']['sqlprefix']."_4_form";
....
}
Das funktioniert soweit, d.h. die Inhalte werde bei 'eintrag' eingefügt (und die ID um eins erhöht und ebenfalls eingetragen). Beim Datum wird bis jetzt in jedem neuen Eintrag nur der Default-Wert eingetragen.
Code:
$sql = "INSERT INTO ".$cfg['tab']['4_form']."...
Meine Frage an Euch: Was muss ich beim INSERT INTO einfügen, damit ich das aktuelle Datum dort eingetragen bekommen, an dem der Eintrag erfolgt ist?
Bloss die letzte Aktualisierung der Datenbank anzuzeigen, kann ich:
PHP-Code:
$sql2 = "UPDATE ".$cfg['tab']['4_form']." SET datum = '$datum';";
$datum = strftime('%A').', den '.date('d.m.Y H:i:s').' Uhr.';
echo $datum;
Füge ich nun diese $date zur Anzeige der DB-Einträge, steht dort überall einfach das aktuellste Datum. Das bringt mir nix.
Versteht Ihr, wie ich das meine?
Vielen lieben Dank für Eure Hilfe!
|
07.08.2007, 18:54:49
|
Anfänger
|
|
Registriert seit: Mar 2006
Beiträge: 11
|
|
AW: Datum zu jedem Datenbankeintrag ausgeben
ähm, ich habe erst jetzt gesehen, dass mein Beitrag wohl eher in die mysql-Rubrik gehört, sorry. Vielleicht kann ein Admin ihn verschieben?
Danke und auch danke für jede Antwort auf meine Frage :-)
|
07.08.2007, 20:53:15
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Datum zu jedem Datenbankeintrag ausgeben
Zitat:
Zitat von wad
...
Code:
$sql = "INSERT INTO ".$cfg['tab']['4_form']."...
Meine Frage an Euch: Was muss ich beim INSERT INTO einfügen, damit ich das aktuelle Datum dort eingetragen bekommen, an dem der Eintrag erfolgt ist?
...
|
PHP-Code:
$sql = "INSERT INTO dateiname ( `feld1` , `feld2` , `feld3` ) VALUES ('', now(), 'abc')";
Zitat:
Zitat von wad
...
Bloss die letzte Aktualisierung der Datenbank anzuzeigen, kann ich:
PHP-Code:
$sql2 = "UPDATE ".$cfg['tab']['4_form']." SET datum = '$datum';";
...
...
|
Damit zeigst Du aber nicht die Aktualisierung der Datenbank an, sondern Du aktualisierst die Datenbank!
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
08.08.2007, 04:59:41
|
|
Member
|
|
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
|
|
AW: Datum zu jedem Datenbankeintrag ausgeben
Abend!
Zitat:
Zitat von wad
Code:
$sql = "CREATE TABLE IF NOT EXISTS ".$cfg['tab']['4_form']."
(
`id_4_form` int(11) NOT NULL auto_increment,
`datum` date NOT NULL default '0000-00-00',
`eintrag` tinytext NOT NULL,
PRIMARY KEY (`id_4_form`)
) TYPE=MyISAM
";
$db->query($sql);
PHP-Code:
$sql2 = "UPDATE ".$cfg['tab']['4_form']." SET datum = '$datum';"; $datum = strftime('%A').', den '.date('d.m.Y H:i:s').' Uhr.'; echo $datum;
|
- Der Speichertyp Datum verlangt bei MySql das Format 0000-00-00 00:00:00, wie du auch in deinem eigenen Code nachlesen kannst. Einsetzen tust du aber dieses Format hier: 00.00.0000 00:00:00!
- Ich denke du willst einen Eintrag hinzufügen und nicht einen Eintrag ändern. Also musst du INSERT und nicht UPDATE benutzen.
- Zudem weiß ich nicht, was dieses default in deinem SQL-Befehl soll. Wenn du hauptsächlich INSERT verwenden willst, wovon ich stark ausgehe, dann ist es klar, dass wenn du den Wert auf default stellst, als erstes auch default eingetragen wird.
MfG, Andy
Geändert von Socrates (08.08.2007 um 05:03:51 Uhr)
|
08.08.2007, 11:19:02
|
Anfänger
|
|
Registriert seit: Mar 2006
Beiträge: 11
|
|
AW: Datum zu jedem Datenbankeintrag ausgeben
Hallo Andy
vielen Dank für die Antwort (danke auch an vt1816)!
Speichertyp des Datums:
Ich vermute mal, dass es keine Rolle spielt, ob das Format korrekt ist. In die DB eingesetzt werden müsste es so oder so (oder nicht?)
Eintrag hinzufügen:
Ja, das stimmt: ich möchte, dass es automatisch zu meinem neuen Eintrag das aktuelle Datum in die DB einfügt.
Default-Wert Datum
ok, ich hab den default-Wert rausgenommen.
Leider: zu meinem aktuellen Eintrag wird trotzdem kein Datum in die DB eingefügt. Ich hab den sql-Befehl folgendermassen geändert:
Code:
$sql2 = "INSERT INTO ".$cfg['tab']['4_form']." SET datum = '$datum';";
$datum = strftime('%A').', den '.date('d.m.Y H:i:s').' Uhr.';
echo $datum;
Was stimmt da nicht?
Danke für die Antworten!
mit Gruss wad
|
09.08.2007, 01:07:51
|
|
Member
|
|
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
|
|
AW: Datum zu jedem Datenbankeintrag ausgeben
Abend!
Es macht was aus, wie du das Datum angibst. Auserdem ist date kein varchar und deshalb hat da auch kein ", den" etwas zu suchen. zudem müsste dein date im SQL-Befehl, wenn du auch eine Zeit angeben willst datetime und nicht nur date heißen.
Wenn du das alles änderst sollte es also klappen. Das ", den" kannste bei der ausgabe mit Hilfe der Mysql-Funktionen erzeugen.
MfG, Andy
|
09.08.2007, 08:29:13
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: Datum zu jedem Datenbankeintrag ausgeben
Zitat:
Zitat von wad
... (danke auch an vt1816)!
|
Wofür, wenn Du Deinen Code nicht anpasst?
Zitat:
Zitat von wad
...
Leider: zu meinem aktuellen Eintrag wird trotzdem kein Datum in die DB eingefügt. Ich hab den sql-Befehl folgendermassen geändert:
Code:
$sql2 = "INSERT INTO ".$cfg['tab']['4_form']." SET datum = '$datum';";
$datum = strftime('%A').', den '.date('d.m.Y H:i:s').' Uhr.';
echo $datum;
...
|
Wer lesen kann ist klar im Vorteil (siehe oben):
PHP-Code:
$sql = "INSERT INTO dateiname ( `feld1` , `feld2` , `feld3` ) VALUES ('', now(), 'abc')";
(an Deine Bedingungen noch anpassen)
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:51:40 Uhr.
|