@Wouter: dat zal ook niet werken, date() gebruik je namelijk om een datumtijdstempel op te maken in het gewenste formaat.
@Henke: als je met data en tijden wilt gaan rekenen, kun je dat het beste in de database zelf doen. Deze is daar beter op toegerust dan PHP. Maar of je nu voor PHP of SQL kiest, je zult altijd data in het formaat yyyy-mm-dd moeten gebruiken, iets anders gaat gewoon niet werken...
[size=xsmall]Toevoeging op 15/07/2011 11:13:52:[/size]
Als je overigens in PHP met data en tijden aan de slag wilt, zou ik eens kijken naar het Datetime object...
Kun je mij dat uitleggen? snap die tuts niet op PHP.net
En nog een vraag
$punten = '400';
if($leden->getPunten($leden->getId()) <= $punten)
{
echo '<b>Je hebt niet genoeg punten om deze hosting te kopen.</b>';
}else{
Heb dit bovenaan mijn pagina staan, maar wanneer een lid 400 pt heeft zegt hij dat er te weinig zijn
Wat betreft je tweede vraag: je kijkt of het aantal punten van het lid 'kleiner dan of gelijk is aan' (<=) de waarde in $punten. Als 400 punten wel voldoende is, moet je het 'kleiner dan' teken (<) gebruiken...
@Pieter: leuke oplossing, maar ook dan heb je nog geen echte datum in je database. Je hebt nu een string waarvan jij en ik weten dat het een datum voorstelt, maar de database kan er niets mee.
Werken met datums in een database (en ergens anders) doe je in het formaat yyyy-mm-dd. Als dat niet het formaat is waarin je later dingen wilt weergeven, geen probleem. Daar kennen we functies als DATE_FORMAT() (SQL) of date() (PHP) voor.
Wat betreft je tweede vraag: je kijkt of het aantal punten van het lid 'kleiner dan of gelijk is aan' (<=) de waarde in $punten. Als 400 punten wel voldoende is, moet je het 'kleiner dan' teken (<) gebruiken...
die staat er toch al? of bedoel je iets anders? kun je het eens toepassen in mijn query? en ik zal naar de tut. kijken.
en het lid zijn punten moet gelijk of groter zijn dan $punten
Vooropgesteld dat de velden besteldatum en vervaldatum van het type DATE zijn, ziet je query er dan als bovenstaand uit.
en het lid zijn punten moet gelijk of groter zijn dan $punten
Dan moet je dus de foutmelding geven als het aantal punten 'kleiner is dan' $punten. Dus alleen het < teken en niet <=.
?
Onbekende gebruiker
15-07-2011 13:00
Henke van der bunt op 15/07/2011 11:19:22
[quote="Joren de Wit op 15/07/2011 11:12:14"]
@Wouter: dat zal ook niet werken, date() gebruik je namelijk om een datumtijdstempel op te maken in het gewenste formaat.
@Henke: als je met data en tijden wilt gaan rekenen, kun je dat het beste in de database zelf doen. Deze is daar beter op toegerust dan PHP. Maar of je nu voor PHP of SQL kiest, je zult altijd data in het formaat yyyy-mm-dd moeten gebruiken, iets anders gaat gewoon niet werken...
[size=xsmall]Toevoeging op 15/07/2011 11:13:52:[/size]
Als je overigens in PHP met data en tijden aan de slag wilt, zou ik eens kijken naar het Datetime object...
Kun je mij dat uitleggen? snap die tuts niet op PHP.net[/quote]
date() is een functie, amar hij mag niet leeg zijn. Je moet dus aangeven wat je hierin wilt. Voor SQL moet je YYYY-mm-dd (jaar, maand, dag) gebruiken. Dus: date('Y-m-d'). Voor avndaag zou dat dus worden: 2011-07-15 :)
En nog een vraag
$punten = '400';
if($leden->getPunten($leden->getId()) <= $punten)
{
echo '<b>Je hebt niet genoeg punten om deze hosting te kopen.</b>';
}else{
Heb dit bovenaan mijn pagina staan, maar wanneer een lid 400 pt heeft zegt hij dat er te weinig zijn
Hoe kan dat?
Mvg
Ik zou een class aanmaken die alles erin heeft. Dus wanneer je inlogd, dat je $inst_member ingevuld is met ID en alles.
Dan kun je gemakkelijk $inst_member->getPoints() uitvoeren; omdat ID al bekend is bij de class (weet niet hoe je class in elkaar zit).
Normaal doe ik simpel gezegd dit:
<?php
// login is goed verlopen, we gaan nu de class aanmaken en alles:
$inst_member = new Member($id);
// dan nemen we aan dat we een functie hebben die het aantal punten ophaalt:
$inst_member->getPoints(); //dit is dan het aantal punten, gemaakt door een functie in de class Member($id) waar de ID al bekend is. Dus alles kan binnen berekend worden.
?>