login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Problemen met laatste datum en bijhorende tijd (Opgelost)

Offline dreamworld - 15/11/2006 18:19
Avatar van dreamworldHTML beginner Hallo,

Ik zit al een tijdje te klungelen met een query. Wat ik wil is het volgende: hij moet de datum EN tijd weergeven wanneer iets voor het laatst is aangepast in de database.
De datum word nu netjes weergegeven, alleen de tijd nog niet.

Dit is mijn query:

  1. $datum = mysql_query(" SELECT datum, tijd FROM tabel ORDER BY datum DESC LIMIT 1 ") or die(mysql_error());


Zoals je ziet sorteert de query op datum, ook had ik "ORDER BY datum, tijd" geprobeerd maar ook dan krijg ik niet mijn gewenste resultaat.

Oja, de datum en tijd zijn opgeslagen als date en time in de database, maar ik gok niet dat dit van belang is, omdat het werkt alleen krijg ik niet de gewenste output. Maar toch zet ik het er even bij.

Iemand die "mijn fout" ziet? 

12 antwoorden

Gesponsorde links
Offline Stefan14 - 15/11/2006 18:22
Avatar van Stefan14 PHP gevorderde je query is in principe goed.

Maar als je wilt sorteren op datum en tijd, zou je het veldtype datetime eens kunnen overwegen, dan is een veldtype met datum en tijd in een en hetzelfde veld, dat is voor het sorteren een stuk makkelijker.
Ook heb je dan waarschijnlijk wel je tijd erbij.
Offline dreamworld - 15/11/2006 18:24 (laatste wijziging 15/11/2006 18:25)
Avatar van dreamworld HTML beginner Hmm daar heb ik eigenlijk nog nie eens aan gedacht.. Daar ga ik zo maar even mee spelen  

Maar iemand nog andere ideeen?
Offline Gerard - 15/11/2006 18:56
Avatar van Gerard Ouwe rakker Ik begrijp eigenlijk je vraagstelling niet goed. Je zegt dat hij de tijd niet goed weergeeft, ik zie geen probleem bij een tijd.....

Als je de volgorde bedoelt dan wil ik wel even een voorbeeld zien van de output die jij krijgt bij het uitvoeren van deze query, hij lijkt namelijk goed in orde.
Offline dreamworld - 15/11/2006 19:15 (laatste wijziging 15/11/2006 19:16)
Avatar van dreamworld HTML beginner Hij geeft wel een tijd weer, maar niet de juiste tijd.

2 voorbeelden:
15 November 2006 om 19.10 uur
15 November 2006 om 18.10 uur

En nu krijg ik: "15 November 2006 om 18.10 uur" te zien terwijl ik "15 November 2006 om 19.10 uur" als output wil.

De datum en tijd staan dus apart in de database.

Offline Gerard - 15/11/2006 19:23
Avatar van Gerard Ouwe rakker Ik begrijp er nogsteeds totaal niks van. Is de het hele zomertijd/wintertijd verhaal niet goed op die server ofzo, dat je het zo stelt?

November moet trouwens met een kleine n.
Offline dreamworld - 15/11/2006 19:44
Avatar van dreamworld HTML beginner Dit heeft niks met de zomer/wintertijd te maken.

Ok, ik heb als voorbeeld 2 records, eentje is er op 15 november 2006 om 18.10 uur aangepast en ik heb 1 record wat op 15 november 2006 om 19.10 uur is aangepast. En ik wil de datum en tijd weten van het record wat voor het laatst is aangepast. Dus 15 november 2006 om 19.10 uur. Maar wat ik ook probeer is dat ik 18.10 uur als tijd te zien krijg. Snap je em nu?
Offline Stefan14 - 16/11/2006 07:13
Avatar van Stefan14 PHP gevorderde Heb je al via PhpMyAdmin gekeken of er ook daadwerkelijk 2 records zijn met die waardes?

heb je het ondertussen al in een DateTime veld staan? want in je query sorteer jij op datum, aangezien ze allebei op 15 november zijn gewijzigd en hij voor de rest geen tijd heeft om op te sorteren sorteert hij daarna verder op tijd van invoegen in de db.

geef anders eventueel even een uitdraai van de db, structuur + enkele records.

Offline ThAlmighty - 16/11/2006 08:06
Avatar van ThAlmighty HTML beginner Ja wat stefan14 zegt dus, maar Mysql heeft ook een lijst woorden die je niet kan gebruiken zonder `quotes` eromheen.

Kijk eens op:
http://dev.mysq...words.html
Offline dreamworld - 16/11/2006 09:50
Avatar van dreamworld HTML beginner Ik heb het inmiddels ook al veranderd in datetime in de database. Alleen nu werkt m`n functie niet meer die de dtatum naar het nederlands omzet, maar hier vind ik nog wel een oplossing voor.
Offline Stefan14 - 16/11/2006 13:42
Avatar van Stefan14 PHP gevorderde @dreamworld, als het goed is moet je met
  1. DATE_FORMAT(datumveld,'%d-%m-%Y %H:%i')

het gewoon goed kunnen omzetten.
Offline Gerard - 16/11/2006 15:22
Avatar van Gerard Ouwe rakker
Citaat:
Ok, ik heb als voorbeeld 2 records, eentje is er op 15 november 2006 om 18.10 uur aangepast en ik heb 1 record wat op 15 november 2006 om 19.10 uur is aangepast. En ik wil de datum en tijd weten van het record wat voor het laatst is aangepast. Dus 15 november 2006 om 19.10 uur. Maar wat ik ook probeer is dat ik 18.10 uur als tijd te zien krijg. Snap je em nu?


ORDER BY datum ASC, tijd DESC
Offline dreamworld - 16/11/2006 16:09
Avatar van dreamworld HTML beginner
Citaat:
ORDER BY datum ASC, tijd DESC


Dit werkt en heb weer wat geleerd, dank u! 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s