Datum vergelijken
Ik probeer een functie in een script in te bouwen, die een bericht pas laat zien als de vooraf ingevoerde datum is bereikt. Ik heb een invoerveld die de datum alsvolgt weergeeft;
Die schrijft netjes de gegevens naar de database. nu heb ik een invoervak die ik "embargo" noem, waarin de de datum komt (in hetzelfde formaat als hierboven) waarop het bericht pas zichtbaar mag worden. In de query vraag ik dus alle berichten op waarbij de 2e ingevoerde datum (het embargo) al voorbij is, zodat berichten die over een week pas mogen worden vertoont nog niet worden afgeroepen. Ik vergelijk hem met de dag van vandaag door dezelfde code te gebruiken als hoe hij de datum wegschrijft.Ik heb al van alles geprobeerd om het voor elkaar te krijgen, maar dichterbij als hieronder kom ik niet, en het werkt dus ook nog niet... ;-(
Code (php)
1
2
2
$query = mysql_query("SELECT * FROM $mysql_posts_table WHERE embargo <= 'H:i - d. m. Y' ORDER BY id DESC
LIMIT $posts_per_page OFFSET $offset");
LIMIT $posts_per_page OFFSET $offset");
In afwachting van uw wijsheid....
Groetjes, Jaap
Voor een overzicht van alles wat je met DATETIME kunt kijk je hier. (ten minste als je MySQL gebruikt.)
Ik ga er direct mee aan de slag!!
Ja ik gebruik MySQL!!
Jaap
hier misschien iets aan.
Als je al gegevens in je database hebt staan die je niet kwijt wil raken heb je De hulp-site van mysql staat wel erg vol info. Ik hoop dat ik het goeie er uit weet te halen...
succes
Volgens je laatste bericht, de tutorial, wordt de datum verdeeld over meerdere kolommen. Is dat dus essentieel voor een vergelijking zoals je aangaf in je eerste reactie?
En ja, voor een vergelijking is het essentieel het juiste data type te kiezen.
maar met
of zie ik dat verkeerd? (Ik ben erg leergierig, maar zeker niet volleerd ;-) dus als ik wel erg simpel overkom spijt me dat )
Nee, invoegen in de database doe je in het formaat 'yyyy-mm-dd' eventueel met een tijdstip erachter. En uitlezen uit de database doe je met de functie DATE_FORMAT() van mysql:
werkte wel, maar als ik die verander in werkt hij niet meer. Ook niet met grote YY en HH, of met ii ipv mm. Dus wat doe ik dan verkeerd? Of schrijft hij dat niet meer omdat ik het type van de kolom heb gewijzigd? Moet ik dan nog een andere eigenschap van de kolom veranderen in MySQL?
oke, maar de variabele Als je de date() functie van php gebruikt:
Maar zoals gezegd, als je de huidige datum in wilt voeren doe je dat gewoon met mysql:
(ik waardeer jullie hulp erg hoor!!!! )
Pas bij het ophalen van het bericht uit de database ga je dan het eigenlijke formaat toepassen met behulp van de functie DATE_FORMAT. Precies zoals ik al eerder aangaf.
Ik deed het stap voor stap, en door het met NOW() in de database te zetten, en de vergelijking ook met NOW() te doen, doet hij precies wat hij moet doen!!!!
De functie DATE_FORMAT ben ik nog niet aan toe, maar dat lijkt ook even niet te hoeven.
Je weet niet hoe dankbaar ik ben!!!!!!
(Ook voor je geduld, haha, ik snapte het niet direct...)
Jaap
Quote:
$date_format = 'H:i - d. m. Y';
die is dus volstrekt overbodig geworden!!
En meer dingen dus...
Gewijzigd op 01/01/1970 01:00:00 door Jaap