Je kent het wel.. Een script en er word varchar gebruikt.. honderden reacties dat date() functie beter is.. Ok. Zal wel :|
Wat ik dan niet snap is waarom dat beter is als de UNIX_TIMESTAMP() ? Zover ik weet kan de date() functie van MySQL geen date('D', time()) nadoen.. Ikzelf vind het ook veel makelijker om met unix timestamp / time() de verschillen uit te rekenen tussen datums.. Sowieso is voor de minder ervaren programmeurs PHP makelijker dan de SQL functie date()
(Ikzelf snap namelijk geen fuck van die hele date() functie in SQL, wat misschien deze hele post veroorzaakt)
Edit, *me wacht vol verwachting op een reactie van pgFrank die het hem helemaal precies gaat uitleggen ^,^*
ModEdit
Waarom je dit bij 'Admin / mods hulp' hebt gezet is mij een raadsel. Persoonlijk vind ik het meer 'Koffiehoek', maar ik zal het topic verplaatsen naar 'Databases & SQL'.
Ik heb zelf geen hekel aan "noob" vragen of mensen wel aan mensen waarbij al talloze goede hints en voorbeelden gegeven zijn en het dan toch op hun eigen "verkeerde" manier willen oplossen. Als dat het uitgangspunt was geweest had diegene het hele topic niet moeten openen en gewoon meteen voor die oplossing gaan.
Mijn doel van dit topic was om uit te vinden WAAROM die functie beter is. Ipv dat beginnen mensen er een discussie van te maken, wat ik ze niet verwijt maar het liep uit op een moddergooi gevecht van de 'grotere' mensen op dit forum. Die worden duidelijk geholpen want nog geen 1 mod heeft hier überhaupt gekeken naar de soms belachelijke reacties hoe hier mensen met vragen behandeld worden.
?Onbekende gebruiker
05-05-2008 20:08
Het vervelende is, Wesley, dat er geen waarom is voor jouw vraag... Het is een keuze van de programmeur. Je kunt je keuze, zoals pgFrank deed, wel beargumenteren, maar het is ieder zijn eigen keuze.
Het gebruik van timestamps kan er wel mee door, maar er blijkt dus een beter alternatief te zijn, namelijk de functies die in MySQL e.d. zitten. We proberen jouw dan ook te behoeden voor een (mogelijke) fout die je begaat.
Mijn doel van dit topic was om uit te vinden WAAROM die functie beter is.
Omdat een integer geen datum is. Meer valt er niet over te zeggen, dat is gewoon een feit.
Met een integer kun je niet de dingen doen die je met een datum kunt doen, met een datum kun je niet de dingen doen die je met een integer kunt doen. Het zijn gewoon 2 verschillende dingen, de bekende appels en peren.
Maar goed, veel sterkte toegewenst en hopelijk leer je er nog eens iets van.
Niet dat ik de hele discussie weer wil gaan oprakelen maar waar denk je dat de hele date() functie op gebaseerd is? Juist. Op unix_timestamp. Daarom is date($formaat, 0) dus 1 januari 1970. Maarja *me zoekt tuts die hem hopelijk uitleggen wat de overige posters hier bedoelen*
ps. Wesley je moet de date() functie van PHP niet verwarren met het DATE datatype van SQL! Daar zit namelijk een levensgroot verschil tussen. De date() functie werkt met timestamps die het aantal seconden sinds 01-01-1970 weergeven, maar een DATE veld in een SQL database kan échte datums bevatten.
Dat jij loopt te prutsen met een database van hooguit een tiental records en enkele kb's groot, wil niet zeggen dat alle databases microscopisch klein blijven. Dan zul je ook zien dat jouw php-gepruts met datums niet meer gaat werken, dat wordt véél te langzaam. Jouw toepassingen kunnen dan in SQL (met de juiste datatypes) wel eens een 1000 of 100.000 keer zo snel zijn, alleen datgene opvragen wat je nodig hebt en een slimme index gebruiken doen wonderen. In php is dat allemaal niet mogelijk. Maar dat wist je al...