Avatar billede michaeltryl Seniormester
04. december 2006 - 00:50 Der er 6 kommentarer og
1 løsning

Hente brugere som fylder år idag

jeg er ved at lave en side som skal vise alle de brugere som fylder år den pågældende dag, men kan ikke regne ud hvordan jeg skal gøre det, men forspørgsel ser sådan her ud

$hent = mysql_query("SELECT brugerid, brugernavn, DATE_FORMAT(birth, '%d') AS dato, DATE_FORMAT(birth, '%m') AS maaned, DATE_FORMAT(birth, '%Y') AS aar FROM brugere WHERE birth = '' ORDER BY brugernavn ASC") or die(mysql_error());
while($vis = mysql_fetch_array($hent)){

men hvad skal der stå imeleme '' efter WHERE for at den henter alle brugere som har fødselsdag f.eks idag. feltet birth er af typen DATE i tabellen
Avatar billede viper_killerguy Nybegynder
04. december 2006 - 01:58 #1
birth kan sikkert checkes med smarte mysql funktioner, men du kan også bruge nogle ikke-smarte php-funktioner til at checke på dine allerede definerede dag og måned rækker:
WHERE dato=".date("j")." AND maaned=".date("n")."
Avatar billede michaeltryl Seniormester
04. december 2006 - 11:44 #2
den ser nu sådan ud
$hent = mysql_query("SELECT brugerid, brugernavn, DATE_FORMAT(birth, '%d') AS dato, DATE_FORMAT(birth, '%m') AS maaned, DATE_FORMAT(birth, '%Y') AS aar FROM brugere WHERE birth =".date("j")." AND birth=".date("n")." ORDER BY brugernavn ASC") or die(mysql_error());
while($vis = mysql_fetch_array($hent)){

men jeg får denne fejl
Unknown column 'dato' in 'where clause'

jeg har også prøvet at sætte '' omkring dato og maaned. så forsvinder fejlen, men der udskrives ingenting.
det samme sker hvis jeg sk´river birth istedet for dato og maaned
der er 2 brugere i tabellen hvor datoen i birth er 1986-12-04
Avatar billede kinderaeg Nybegynder
04. december 2006 - 13:59 #3
Vil da mene du skulle kunne klare dig med nedenstående:

$hent = mysql_query("SELECT brugerid, brugernavn, DATE_FORMAT(birth, '%d') AS dato, DATE_FORMAT(birth, '%m') AS maaned, DATE_FORMAT(birth, '%Y') AS aar FROM brugere WHERE birth = '".date('Y-m-d')."' ORDER BY brugernavn ASC") or die(mysql_error());
Avatar billede michaeltryl Seniormester
04. december 2006 - 14:09 #4
nej heller ikke hvis jeg bare skriver
WHERE birth = '".date('m-d')."'
men jeg får ingen fejl
jeg skal jo på en eller anden måde kun have den til at tjekke måned og dato i feltet birth

hele mit script er her
$hent = mysql_query("SELECT brugerid, brugernavn, DATE_FORMAT(birth, '%d') AS dato, DATE_FORMAT(birth, '%m') AS maaned, DATE_FORMAT(birth, '%Y') AS aar FROM brugere WHERE birth = '".date('Y-m-d')."' ORDER BY brugernavn ASC") or die(mysql_error());
while($vis = mysql_fetch_array($hent)){
$id = $vis[brugerid];
$brugernavn = $vis[brugernavn];
$dato = $vis[dato];
$maaned = $vis[maaned];
$aar = $vis[aar];
$birth = $dato-$maaned-$aar;

$idag = date("Y") . date("m") . date("d");
$birth = $aar . $maaned . $dato;
$alder = substr($idag - $birth,0,-4);

//Vi sender brugerens id med til profil.php
echo "<a href='profil.php?id=$id'>$brugernavn</a>- $alder år<br>";
}
Avatar billede kinderaeg Nybegynder
04. december 2006 - 14:23 #5
Nåh ja, god morgen hovedpine, det kører for mit hold.

" WHERE MONTH(birth) = '".date('n')."' AND DAYOFMONTH(birth) = '".date('j')."'";
Avatar billede michaeltryl Seniormester
04. december 2006 - 14:31 #6
Jep det virker. Tak for hjælpen og smid bare et svar
Avatar billede kinderaeg Nybegynder
04. december 2006 - 15:14 #7
Nice
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester