Kloep Geplaatst: 8 oktober 2011 Rapport Geplaatst: 8 oktober 2011 Ik heb al vele dingen geprobeerd, maar het wil me niet lukken om de juiste datum en tijdsnotatie te krijgen. Ik wil graag het volgende: October 08 2011 13:42 De werking van TIMESTAMP snap ik niet, daar had ik al naar gekeken. Ik had dit in m'n query geplaatst, maar ook dat werkt niet: DATE_FORMAT (uploaddatum, 'F d Y h:i a') (uploaddatum is de naam van de kolom in m'n database, welke als type 'date' heeft.) Hiermee krijg ik de volgende melding: Query: INSERT INTO afbeeldingen DATE_FORMAT (uploaddatum, 'F d Y h:i a') (naam,link,categorie,uploaddatum) VALUES ('s','s','Covers','08 October 2011 01:52 pm') MySQL Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DATE_FORMAT (uploaddatum, 'F d Y h:i a') (naam,link,categorie,uploaddatum)' at line 2 Weet iemand wat er fout gaat, of hoe ik dit kan aanpassen dat het wel werkt? Reageren
Joriz Geplaatst: 8 oktober 2011 Rapport Geplaatst: 8 oktober 2011 Wat ben je uberhaubt aan het doen? Werk je met PHP met een bestaand systeem? Waarom sla je de tijd niet op in de database als integer als Unix time? Dan kan je die integer altijd achteraf via je script omzetten en bewerken naar een voor mensen leesbaar iets, afhankelijk van het hun land, taal, etc... Reageren
Kloep Geplaatst: 8 oktober 2011 Auteur Rapport Geplaatst: 8 oktober 2011 (bewerkt) Wat ik doe is een database maken van afbeeldingen. In het database komt dat de naam, link, categorie en datum te staan. Hier heb ik een form voor gemaakt die de gegevens verzend naar het database. Dit gaat op de volgende manier: $datum = date('d F Y h:i a'); <tr><td></td><td><input type='hidden' name='uploaddatum' size='30' value='".$datum."'></td></tr> Is het mogelijk om dan vervolgens de datumnotatie te wijzigen, of moet ik dit heel anders aanpakken? En welk type zou ik het veld dan moeten meegeven in het database? DATE of TIMESTAMP? EDIT: Ik heb nu de juiste datum erin staan met TIMESTAMP, moet alleen nog het juiste format aangeven. Bewerkt: 8 oktober 2011 door Kloep Reageren
Joriz Geplaatst: 8 oktober 2011 Rapport Geplaatst: 8 oktober 2011 Wat ik doe is een database maken van afbeeldingen. In het database komt dat de naam, link, categorie en datum te staan. Hier heb ik een form voor gemaakt die de gegevens verzend naar het database. Dit gaat op de volgende manier: $datum = date('d F Y h:i a'); <tr><td></td><td><input type='hidden' name='uploaddatum' size='30' value='".$datum."'></td></tr> Is het mogelijk om dan vervolgens de datumnotatie te wijzigen, of moet ik dit heel anders aanpakken? En welk type zou ik het veld dan moeten meegeven in het database? DATE of TIMESTAMP? EDIT: Ik heb nu de juiste datum erin staan met TIMESTAMP, moet alleen nog het juiste format aangeven. Dan raad ik aan toch even alles om te gooien. Waarom zet je de datum eerst in een hidden webformulier? Dan kan iedereen deze aanpassen en wat dan ook als datum meesturen. Waarom haal je het niet na het posten van het formulier de tijd van de server? Probeer alles zo veilig mogelijk te scripten. Anders heb je het risico dat er misbruik van je website kan worden gemaakt. Reageren
Kloep Geplaatst: 8 oktober 2011 Auteur Rapport Geplaatst: 8 oktober 2011 Dat doe ik nu inderdaad, kwam er dus ook achter dat het meesturen met het form geen zin had, en niet meer werd gebruikt. Heb nu in de query van het verzenden naar het database CURRENT_TIMESTAMP staan, dat werkt prima. Als het goed is, kan ik nu gewoon simpel aangeven hoe ik de datum wil zien op de pagina waar ik de afbeelding weergeef toch? Dit zou dan zoiets worden: echo date("d F Y h:i a ", strtotime($row["uploaddatum"])); Reageren
Sublime Geplaatst: 8 oktober 2011 Rapport Geplaatst: 8 oktober 2011 Als ik PHP gebruik, dan zet ik altijd de Epoch tijd in de database. Dat is dus gewoon ipv een DateTime een BigInt(20) te gebruiken, en vervolgens met een sql query gewoon time() gebruiken. Dan hoef je ook geen string to time te gebruiken. Volgens mijn DIS leraar was dit niet netjes, maar toen ik een jaar geleden mijn php website moest inleveren vond die leraar het wel goed, omdat je anders hele tijd de datums moest omvormen en dat vond hij niet zo efficiënt. Reageren
Recommended Posts
Een reactie plaatsen
Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.