SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 07.03.2005, 23:21:34
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
Datum in DB, danach sortieren

Hallo,

ich hab hier ein Problem mit der Verarbeitung von einem Datum, bzw. mehreren. Diese sollen in der Datenbank gespeichert werden wo sie mittels eines Forumulars eingetragen werden.
Nun hab ich das Problem beim Sortieren, dass das Datum auch korrtekt sortiert wird ( 03.12.2005 kommt nach 12.02.2005 und nicht umgekehrt).

Wie schreib ich das Datum am besten in die DB und frage/sortiere ich es danach am geschicktesten wieder ab?
Es geht hierbei um eine Terminplaung.

Die Suche hat mir leider nicht weiterhelfen können.

Ich hab ein wenig gestöbert.
Könnte ich es über den Timstamp lösen??

z.B. über das Formular wird $tag, $monat, $jahr übergeben, vor dem Eintrag in die DB wandle ich es in einen UNIX-Timestamp um:
$datum = mktime($monat, $tag, $jahr); <-- so korrekt??

Nur wie bekomm ich es dann aus der DB so ausgelesen das es in dt. Schreibweise und sortierbar ist??

Geändert von AlexD (07.03.2005 um 23:39:08 Uhr)
Mit Zitat antworten
  #2  
Alt 07.03.2005, 23:51:38
Benutzerbild von wolles
wolles wolles ist offline
Junior Member
 
Registriert seit: Apr 2002
Ort: Belgique
Beiträge: 180
AW: Datum in DB, danach sortieren

Hallo,

das Format zum Speichern in die DB ist $jahr-$monat-$tag (siehst Du auch, wenn Du 'ne Spalte vom Typ date in einer TAbelle anlegst), so kann man die Daten auch richtig sortieren.
Ums Umzusetzten brauchst Du Dir nur 'ne kleine Funktion zu basteln, die den String zerlegt und so formatiert, wie Du's gerne hättest.
__________________
Wolles

Warum klettern Menschen auf einen Berg?
..vor allem, weil er da ist, Spock!
Mit Zitat antworten
  #3  
Alt 08.03.2005, 01:18:34
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: Datum in DB, danach sortieren

Ich speichere das Datum nun in einer Spalte die als "Date" angelegt wurde.

Das Datum wird korrekt in die DB eingetragen.
Wenn ich es auslese, kommt eben dann jjjj.mm.tt

kann ich es nicht so formatieren:
$daten = $rows[datum];
$datum = date("d.m.Y", $daten);

hier kommt dann immer der: 01.01.1970 raus ?!

Geändert von AlexD (08.03.2005 um 01:19:02 Uhr)
Mit Zitat antworten
  #4  
Alt 08.03.2005, 01:25:18
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Datum in DB, danach sortieren

date() erwartet als zweiten parameter einen unix-timestamp und kein datum...
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #5  
Alt 08.03.2005, 01:29:04
Benutzerbild von wolles
wolles wolles ist offline
Junior Member
 
Registriert seit: Apr 2002
Ort: Belgique
Beiträge: 180
AW: Datum in DB, danach sortieren

Hast Du das Datum denn im richtigen Format in die DB gespeichert, also so:
2005-03-08

Das mit dem jjjj.mm.tt kann ich mir momentan auch nicht erklären, bin auch ein kleines bißchen zu müde und geh jetzt schlafen.
Der 01.01.1970 lässt darauf schliessen, daß die Variable $daten den Wert 0 hat.
Wie kommst du denn zu $rows[datum]?
__________________
Wolles

Warum klettern Menschen auf einen Berg?
..vor allem, weil er da ist, Spock!
Mit Zitat antworten
  #6  
Alt 08.03.2005, 01:32:16
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: Datum in DB, danach sortieren

Zitat:
Zitat von |Coding
date() erwartet als zweiten parameter einen unix-timestamp und kein datum...
Zitat:
Zitat von wolles
Der 01.01.1970 lässt darauf schliessen, daß die Variable $daten den Wert 0 hat.
... ?
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #7  
Alt 08.03.2005, 09:22:40
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Datum in DB, danach sortieren

$daten muss nicht zwingend den wert 0 haben. Allerdings behandelt die Funktion [func]date()[/func] den zweiten Parameter wie 0, wenn es sich nicht um einen UNIX-Timestamp handelt.
Wenn du das im DATE-Format in der Datenbank speicherst, kannst du es mit DATE_FORMAT() schon direkt beim Auslesen formatieren. Oder du wandelst es mit UNIX_TIMESTAMP() in einen UNIX_TImestamp um und verarbeitest es dann in PHP mit [func]date()[/func] weiter.
Mit Zitat antworten
  #8  
Alt 08.03.2005, 10:12:23
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: Datum in DB, danach sortieren

Ja, auf "DATE_Format (d, form)" bin ich auch grad gestoßen. Werd ich gleich mal versuchen.

Abfrage:
SELECT *, DATE_FORMAT (Datum, '%d.%m.%Y') AS date

OK ich denke so funktioniert es, das mit den DATE_FORMAT war der Hinweis!
Hier die Abfrage:
mysql_query("SELECT *, DATE_FORMAT(Datum, '%d.%m.%Y') AS date FROM gigs WHERE jahr=$jahr ORDER BY datum ASC

Das Jahr hab ich nochmal extra in die DB schreiben lassen, tu ich mich leichter auch wenns nicht ideal ist aber damit kann ich leben. ;-)

Vielen Dank für Eure Unterstüzung

Geändert von AlexD (08.03.2005 um 10:19:07 Uhr)
Mit Zitat antworten
  #9  
Alt 08.03.2005, 10:39:04
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Datum in DB, danach sortieren

Zitat:
Zitat von AlexD
Das Jahr hab ich nochmal extra in die DB schreiben lassen, tu ich mich leichter auch wenns nicht ideal ist aber damit kann ich leben. ;-)
Da du dies vermutlich getan hast, um die WHERE-Klausel einfach hinzubekommen, hier noch ein Tipp:
Code:
SELECT
    *,
    DATE_FORMAT(Datum, '%d.%m.%Y') AS date
FROM
    gigs
WHERE
    YEAR(Datum) = $jahr
ORDER BY
    datum ASC
Und noch zwei Links:
- http://php-faq.de/q/q-sql-select.html
- http://tut.php-q.net/mysql-einrueck.html
Mit Zitat antworten
  #10  
Alt 08.03.2005, 12:56:22
AlexD AlexD ist offline
Junior Member
 
Registriert seit: Jun 2003
Beiträge: 186
AW: Datum in DB, danach sortieren

sieht gut aus, werde ich mir gerne zu Herzen nehmen! ;-)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ordner auslesen und Dateien nach Datum sortieren Wauzy PHP für Fortgeschrittene und Experten 29 16.02.2006 13:10:25
nur Datensätze mit gleichem Datum anzeigen klaus-maus MySQLi/PDO/(MySQL) 1 28.02.2005 21:48:29
CMS-System mit Datum Claus MySQLi/PDO/(MySQL) 21 16.02.2005 20:51:10
DATUM start DATUM ende AND Termine inthemiddle daniel son PHP Grundlagen 21 21.07.2004 14:03:49
Datum sortieren drhoine PHP für Fortgeschrittene und Experten 6 01.03.2002 15:26:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:56:25 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt