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 reken liever met iets waarbij ik weet dat 60 1 minuut is, ipv dat ik in queries moet gaan kloten met datum min datte etc..
Sorry dat ik het zeg, maar dit valt wel in de categorie domme opmerkingen. Wat heeft 60 nu met 1 minuut te maken? Niets, null, noppes, nada. Ik reken liever met 1 minuut wanneer ik 1 minuut nodig heb en 1 dag wanneer ik 1 dag nodig heb. 1 MINUTE en 1 DAY doen wonderen, met 1 MONTH of 5 YEAR snapt het grootste uilskuiken nog over welke interval we het hebben. Of schud jij zo even uit de mouw wat 604800 moet voorstellen? Daarnaast ga je problemen krijgen wanneer je met maanden, kwartalen of jaren gaat werken, die zijn namelijk niet altijd even lang. De ene maand is 31 dagen, de andere 28 dagen. Ga jij maar eens berekenen hoeveel secondes je er nu bij op moet tellen...
Hou het eenvoudig, dan maak je minder fouten en snap je beter wat er gebeurt. Een datum dus opslaan als een datum, een DATE.
[quote='Wesley schreef op 04.05.2008 20:59']Ik reken liever met iets waarbij ik weet dat 60 1 minuut is, ipv dat ik in queries moet gaan kloten met datum min datte etc..
Sorry dat ik het zeg, maar dit valt wel in de categorie domme opmerkingen.[/quote]Lees verder...
Wat heeft 60 nu met 1 minuut te maken? Niets, null, noppes, nada.
Ik weet niet bij jou maar bij mij zitten er in een minuut hoeveel seconden? En waarop is de unix timestamp op gebaseerd? Juist. Seconden. De hele date() functie is erop gebaseerd eigenlijk.
Ik reken liever met 1 minuut wanneer ik 1 minuut nodig heb en 1 dag wanneer ik 1 dag nodig heb. 1 MINUTE en 1 DAY doen wonderen, met 1 MONTH of 5 YEAR snapt het grootste uilskuiken nog over welke interval we het hebben. Of schud jij zo even uit de mouw wat 604800 moet voorstellen?
Niet echt maar daarom is het rekenen handig (PHP):
Daarnaast ga je problemen krijgen wanneer je met maanden, kwartalen of jaren gaat werken, die zijn namelijk niet altijd even lang. De ene maand is 31 dagen, de andere 28 dagen. Ga jij maar eens berekenen hoeveel secondes je er nu bij op moet tellen...
Exact: SECONDEN
Je rekent met seconden. Als je met date($format, time()+$aantalsecondeN) gaat rekenen boeit het niet of er in de ene maand 5 en in de andere 60 dagen zitten (Als voorbeeld want dat klopt natuurlijk niet). Unix timestamp is een functie die zich daarop aanpast namelijk..
Hou het eenvoudig, dan maak je minder fouten en snap je beter wat er gebeurt. Een datum dus opslaan als een datum, een DATE.
Denk dat het moraal van deze discussie is dat iedereen iets anders handig vind.. hier gaan we in ieder geval niet meer uitkomen ben ik bang..
Het enige dat ik er over wil zeggen is dat je enorm dom uit je nek loopt te lullen en zo te lezen de ballen verstand hebt van serieus programeren.
Onderbouwing :
Als je alles pgFrankstyle doet komt dit met name bij grotere apps je snelheid ten goede.
Om je eigen voorbeeld te gebruiken:
Alles wat op maandag is gemaakt moet opgehaald worden...
Jou manier : (even paar keer vergroot en lichtelijk overdreven)
1. Jij haalt met een select 100.000 records op.
2. Jij loopt door 100.000 records om te controleren of ze op maandagochtend zijn gemaakt.
3. je gooit 90.000 records weg die niet aan je criteria voldoen en waarvan het dus nutteloos is dat je die hebt opgehaald.
4. je loopt door de overige 10.000 records om deze weer te geven.
Frank (en de algemene) manier :
1. Je DB kijkt welke records er voldoen aan de criteria
2. Je haalt 10.000 records op.
3. Je loopt er door om deze weer te geven.
Bovenstaande heeft een behoorlijk snelheidsverschil volgens mij. Heb geen concrete cijfers maar als iemand tijd heeft kan hij/zij deze mischien produceren.
Conclusie:
Jij stond niet vooraan bij het uitdelen
[edit]
Luister maar naar pgFrank, dat lijkt me een wijze man ;-)
Met name niet goed wijs met zn PG gedoe maar in dit geval heb je enigsinds gelijk
[/edit]
Je rekent met seconden. Als je met date($format, time()+$aantalsecondeN) gaat rekenen boeit het niet of er in de ene maand 5 en in de andere 60 dagen zitten (Als voorbeeld want dat klopt natuurlijk niet). Unix timestamp is een functie die zich daarop aanpast namelijk..
En heb je al bedacht dat dit niet gaat? Hoe wil jij iemand iedere 5e van de maand een berichtje sturen wanneer je niet eens weet wanneer dat is? Of iedere maandagmorgen? Of iedere _vul_maar_in_?
En wacht dacht je van schrikkeljaren en schrikkelsecondes? Dan gaan jouw berekeningen al helemaal niet kloppen, jij mist zo maar een dag of een seconde.
Daarnaast is jouw applicatie nauwelijks te testen, jouw database komt vol te staan met waardeloze getallen die je vervolgens 1-voor-1 zelf mag gaan vertalen naar een datum. Dan pas kun je zien of het ook de gewenste datum is, testen kost je dus veel meer tijd en kan regelmatig fout gaan. Dit gepruts werkt het maken van fouten namelijk in de hand...
Dom dom dom, een totaal gebrek aan kennis. Dat mag duidelijk zijn.
1. Het enige dat ik er over wil zeggen is dat je enorm dom uit je nek loopt te lullen en zo te lezen de ballen verstand hebt van serieus programeren.
Ik vind dat beetje ouwehoeren niet erg is, maar dit vind ik idd ook te ver gaan hoor. Het gebeurt regelmatig dat er op zogenaamde ''noob-questions'' heel flauw wordt gereageerd, in de trant van ''wegwezen, ga php leren'' of iets zoals hierboven. Waar is dat voor nodig? Volgens mij heet deze site phpHULP en is het dus logisch dat hier newbies komen met vragen. Je zou juist blij moeten zijn dat je genoeg ervaring en kennis hebt om mensen te kunnen helpen! Wanneer er echt dom gedaan wordt, reageer dan met: ''Misschien is het een goed idee om deze handleiding door te lezen'' ofzoiets. Want wie zoals Jacco hierboven reageert, lult pas écht uit zijn nek.
?
Onbekende gebruiker
05-05-2008 19:13
Wesley schreef op 05.05.2008 19:03
*heeft al vaker gedacht dat bepaalde mensen hier een gebrek aan respect hebben*
Dit topic doet niks anders als dat bevestigen..
Als je zelf zo'n gewaagde topic opent, kun je verwachten dat je een discussie aan moet gaan. Het is altijd vervelend als degene die een discussie start zijn standpunt door wilt draven ook al heeft diegene geen poot om op te staan.