[php/mysql] Selecteren verjaardagen binnen 7 dagen *

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 08-09 09:36
Ik ben bezig met een verjaardagkalender aan het maken die mij 7 dagen voordat iemand jarig is op de hoogte steld hiervan. Maar het probleem zit hem in de select query die moet bepalen of er over 7 dagen iemand jarig is. In de DB staan geboorte datums en hun naam.

PHP:
1
2
3
4
5
6
7
8
9
10
$checkdate=date("d-m", mktime (0,0,0,date("m")  ,date("d")+7,date("Y")));
$sql = "SELECT
            name,
            DATE_FORMAT(date,'%d-%m') as datum,
            DATE_FORMAT(date,'%Y') as geboortejaar
        FROM
            birthday
        WHERE
            datum='$checkdate'
        ";


Dit leverd deze error "Unknown column 'datum' in 'where clause'"
Natuurlijk kan ik de DB wel omgooien dat hij in plaats van 1 kolom 'date' 2 kolommen maak, de datum waarop ze jarig zijn en appart in welk jaar ze geboren zijn. Maar ik ga ervan uit dat het ook simpel op te lossen moet zijn in mysql, alleen weet ik niet hoe. Wil iemand mij in de goede richting duwen?

...


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 18:44

gorgi_19

Kruimeltjes zijn weer op :9

Titel iets verduidelijkt :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • WPN
  • Registratie: Augustus 2003
  • Laatst online: 24-07 21:14

WPN

check de manual ff staat hoop handige tips in

mysql date_format


ps: hoe staat het precies in je db nu dan, want volgens mij ben je nu heel moeilijk bezig....

ik werk zelf niet met datums (yet) maar kan je die niet gewoon vergelijken met elkaar....

zoals

code:
1
2
3
select name
from birthday
where datum='$checkdatum'


hierbij wel van uitgaande, dat de "datum" in het where gedeelte een veld is in je db, heet ie in je db "date" dan moet je datum ff veranderen in date

zo simple zie ik het met vergelijken.....

[ Voor 64% gewijzigd door WPN op 05-09-2004 17:11 ]

Als ik denk zoals ik dacht, dan doe ik zoals ik deed, als ik doe zoals ik deed, dan denk ik zoals ik dacht! Cogito Ergo Sum


Acties:
  • 0 Henk 'm!

  • Haranaka
  • Registratie: September 2000
  • Laatst online: 08-09 09:36
Het probleem van de datums vergelijken zit hem in de jaren. Als iemand op 12-09-1980 geboren wil ik graag dat de query de andere gegevens selecteerd van deze persoon, ondanks dat de jaren niet overeen komen.
Maar ik ben er inmiddels uit:
PHP:
1
2
3
4
5
6
7
8
9
10
$checkdate=date("d-m", mktime (0,0,0,date("m")  ,date("d")+7,date("Y"))); 
$sql = "SELECT 
            name, 
            DATE_FORMAT(date,'%d-%m') as datum, 
            DATE_FORMAT(date,'%Y') as geboortejaar 
        FROM 
            birthday 
        WHERE 
            DATE_FORMAT(date,'%d-%m')='$checkdate' 
        ";

Dit werkt precies zoals ik bedoelde. Misschien dat een ander er nog wat aan heeft in de toekomst via de search.

...


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Doet dit niet ook wat je wilde?
PHP:
1
2
3
4
5
6
7
8
9
10
$checkdate=date("d-m", mktime (0,0,0,date("m")  ,date("d")+7,date("Y")));
$sql = "SELECT
            name,
            DATE_FORMAT(date,'%d-%m') as datum,
            DATE_FORMAT(date,'%Y') as geboortejaar
        FROM
            birthday
        HAVING
            datum='$checkdate'
        ";

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • GX
  • Registratie: Augustus 2000
  • Laatst online: 14-05 09:40

GX

Nee.

Je kan toch niet een zelfgedefinieerde alias gebruiken in je where clausule?
Pagina: 1