Hey,
Ik heb geprobeert een script te maken waarmee je kan zoeken op leeftijd.
In de database staat alleen een geboortedatum ("d-m-Y") en ik kom er niet uit hoe ik daarmee kan zoeken op leeftijd.
Ik ben al zover dat ik heb bedacht dat je 2 data moet berekenen waar tussen iedereen de gezochte leeftijd heeft.

Heeft iemand al zo'n script of zou iemand dit kunnen maken?
Ik kom er niet meer uit :S

Mvg Sickness
Ik weet het niet zeker, maar je wilt zoeker tussen twee datums kun je ook dit doen

"SELECT geboortedatum FROM table WHERE geboortedatum BETWEEN ". $datum1 . " AND " . $datum2
Maar als ik zoek op 17 jaar. Hoe zet ik dat dan om naar $datum1 en $datum2,
Want op deze query was ik ook al zo'n beetje gekomen maar dan iets anders

<?
sql = "SELECT * FROM table WHERE gebdat > '#". $datum1 ."#' AND gebdat < '#". $datum2 ."#'";
?>

een datum hoor je in een query tussen # te zetten ;) ( tenminste wel in MsAcces )
MySQL ziet dit niet als datum, en zal dus naar het eerste getal kijken.

Eigenlijk moet je daarom Y-m-d gebruiken. Ik zou niet weten hoe je nu kan zoeken op leeftijd.
Als je zoekt op 17 jaar kun je dus zelf ook een dateformat maken waartussen een resultaat (kan) staan.

<?php
$jaar = date("Y");
$jaar -= 17;

$query = "SELECT geboortedatum FROM table WHERE geboortedatum = LIKE '" . $jaar . "%' ORDER by geboortedatum DESC";

?>

misschien?
Kun je niet in Mysql als je daarin het DATE format hebt ook zoiets doen als

select geboortedatum from table order by geboortedatum (Year)

t'is maar een gokje

K heb al een andere oplossing.
k heb ergens een snippet gevonden waarmee je makkelijk de leeftijd kan berekenen.
Dus ik haal nu alle gegevens op die voldoen aan andere zoekopdrachten. En dan bereken ik per result de leeftijd en geef alleen iets weer als de leeftijden overeen komen.

Toen kreeg ik een probleempje omdat me aantal treffers niet meer klopten (k gebruikte mysql_num_rows) Maar das ook al opgelost. Gewoon bij alles dat ie laat zien $i++ neerzetten en dan $i weergeven als aantal treffers :)

Maar in elk geval bedankt voor het meedenken :)
@Dave
Stel nou dat het januari is en degene jarig is in december, dan scheelt t bijna een jaar.
Dus de maanden moet je ook meenemen, net als de dag.

ik gebruik hiervoor de volgende code:

<?php
...
if ($maand < 0) {
$leeftijd = $jaar-1;
}elseif ($maand == 0 AND $dag < 0) {
$leeftijd = $jaar-1;
}else{
$leeftijd = $jaar;
}
...
?>

waarbij $jaar = $jaarnu - $jaartoen
$maand = $maandnu = $maandtoen
$dag = $dagnu - $dagtoen


Het lijkt mij de snelste en dus beste methode die jij voorstelt, Dave
Zoals ik al zei probleem is opgelost.
En hij klopt nu op de dag precies :)
LOL dat kon mijn script wel eens zijn :P. Toch fijn om te zien dat mijn scripts ook door andere gebruikt worden ;)
Ik heb effe een mysql vraagje ? ...

Kun je ook doen dat als je een aantal dingen hebt opgeslagen in een db..
Je veld heet zeg maar `antwoord` en je de aantal dingen tellen die daar in zijn opgelsagen maar ze meoten het zelfde zijn..
Bijvoorbeeld een antwoord is Ja.
En je wilt alle antwoorden met ja tellen..
Is daar een script voor
Z0iets van

select count(antwoord) From `tabel` Where antwoord = ja

"SELECT count(antwoord) FROM tabelnaam WHERE antwoord = 'Ja'";

Reageren