Zoeken op leeftijd.
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
"SELECT geboortedatum FROM table WHERE geboortedatum BETWEEN ". $datum1 . " AND " . $datum2
Gewijzigd op 31/07/2004 08:36:00 door Dbr Br
Want op deze query was ik ook al zo'n beetje gekomen maar dan iets anders
Code (php)
1
2
3
2
3
<?
sql = "SELECT * FROM table WHERE gebdat > '#". $datum1 ."#' AND gebdat < '#". $datum2 ."#'";
?>
sql = "SELECT * FROM table WHERE gebdat > '#". $datum1 ."#' AND gebdat < '#". $datum2 ."#'";
?>
een datum hoor je in een query tussen # te zetten ;) ( tenminste wel in MsAcces )
Eigenlijk moet je daarom Y-m-d gebruiken. Ik zou niet weten hoe je nu kan zoeken op leeftijd.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$jaar = date("Y");
$jaar -= 17;
$query = "SELECT geboortedatum FROM table WHERE geboortedatum = LIKE '" . $jaar . "%' ORDER by geboortedatum DESC";
?>
$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
Gewijzigd op 31/07/2004 14:09:00 door Dbr Br
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 :)
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:
Code (php)
waarbij $jaar = $jaarnu - $jaartoen
$maand = $maandnu = $maandtoen
$dag = $dagnu - $dagtoen
Het lijkt mij de snelste en dus beste methode die jij voorstelt, Dave
Gewijzigd op 31/07/2004 21:52:00 door John de Boer
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 ;)
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'";
Thanks
$update1query = "UPDATE `michiel_deelnemers` SET vraag1 = '" . $leeftijd . "' WHERE `naam` = '" . $naam . "'";
Maar als er nu 2 namen het zlefde zijn hoe neem ik dan de laatste naam ?
Order BY id DESC ?
Of werkt dat neit.. want toennet werkte het niet ,, :S
ALs je dit doet worden alle regels waar de naam hetzelfde is ge-update.. Wil je ze daarna dan eruithalen en als er 2 dezelfde zijn de laatste? Werkt dit niet?
"SELECT leeftijd FROM michiel_deelnemers WHERE naam = '" . $naam . "' ORDER BY id DESC LIMIT 0,1"
Gewijzigd op 01/08/2004 22:25:00 door Dbr Br
Heb het helemaal anders gedaan.. Maar evengoed bedankt dit komt nog wel een keer van pas