ik krijg deze foutmelding bij onderstaand script:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in....
er wordt verwezen naar de while regel in de foutmelding. De veroorzaker is de where regel in mijn select. als ik die regel weg haal, werkt het script normaal. weet iemand wat ik hier fout doe?
mijn bedoeling is dat alleen een record uit de database geselecteerd wordt als de einddatum over 60 dagen is.

<?PHP

$zestig_dagen_terug = mktime() - 60;
$result = mysql_query ( "SELECT
COALESCE( klant.klant_bedrijf,
klant.klant_achternaam ) AS naam,
product.prod_omschrijving AS omschrijving,
klant.klant_van AS van,
product.prod_ingang_datum AS ingangdatum,
product.prod_eind_datum AS einddatum
FROM producten AS product
JOIN klanten AS klant ON klant.klant_id = product.prod_klant_id
WHERE einddatum = '.$zestig_dagen_terug'");

include 'functions.php';

while ($row = mysql_fetch_assoc($result)) {
$naam = $row["naam"];
$omschrijving = $row["omschrijving"];
$ingangdate = date_create($row["ingangdatum"]);
$einddate = date_create($row["einddatum"]);
$ingangdatum = date_format($ingangdate, 'd-m-Y');
$einddatum = date_format($einddate, 'd-m-Y');

echo $naam . ' ' . $ingangdatum . ' t/m ' . $einddatum . '<BR/>';
?>
Daar heb je formatting formules voor (zowel php als sql). In de database staat het als yyyy-mm-dd.
DATE_FORMAT() in MySQL...

[size=xsmall]Toevoeging op 03/09/2012 22:32:28:[/size]

DATE_FORMAT() in MySQL...
Daarnaast zou ik gewoon je datum in een DateTime object zetten. Kan je er alles mee wat je wilt.
DateTime object?? niet te snel luitjes, mijn vragen staan echt in "beginnen met PHP" :)
Gewoon DATE_FORMAT in je SELECT-query gebruiken. Genoeg leesvoer op Google...
Wouter W op 03/09/2012 22:59:19

DateTime object?? niet te snel luitjes, mijn vragen staan echt in "beginnen met PHP" :)


Eerst en vooral, is je probleem intussen al opgelost? In elk geval, zou ik je wat gaan verdiepen in SQL. Je weet wel hoe er een select statement volledig uitziet, maar bent duidelijk nog niet op de hoogte van alle functies.

Vooral de datumfuncties moet je zeker eens grondig bekijken. Bekijk bijvoorbeeld dit artikel eens.

Overigens moet je echt geen schrik hebben om soms eens een class te gebruiken. Er is een verschil tussen object gericht programmeren en gebruik maken van classes. Dat laatste is vaak niet zo moeilijk.

Bekijk bijvoorbeeld eens de PHP Data/Time manual. Als je even wat rond klikt, en de voorbeelden bekijkt, zie je dat dit niet erg extreem moeilijk is.

Of je nu DateTime moet gebruiken of niet, kan ik niet gelijk bepalen uit dit topic. Als het werkelijk enkel gaat om iets in de WHERE dat met date te maken heeft, en nergens elders in de SELECT kan je het prima oplossen met de functies die MySQL biedt.
Allen, bedankt voor jullie opmerkingen en suggesties. ik begrijp heel goed dat er genoeg te vinden is op Google. ik probeer ook altijd eerst mijn vragen zelf te beantwoorden via deze weg. mijn probleem is dat ik regelmatig klok en klepel momenten mis...... :) En juist op die momenten ben ik heel blij met een forum zoals deze en mensen die de tijd en moeite willen nemen om iets goed uit te willen leggen.

nu inhoudelijk, ik ga vandaag verder probere met DATA_FORMAT en post mijn uitkomst hier weer even.
DATE-FORMAT() ;-)
slipt of a finger :) je hebt helemaal gelijk. loop ik ook vaak tegen aan, hele kleine tikfoutjes en die zijn nou net funest hierin :)
- Aar - op 04/09/2012 08:55:26

DATE-FORMAT() ;-)

Euh, DATE_FORMAT() ;-)

Reageren