04. december 2006 - 00:50Der 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
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")."
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
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());
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;
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.