16. januar 2007 - 19:39
Der er
15 kommentarer og 1 løsning
alder ud fra timestamp
Hvis jeg har en mysql database med nogle brugeres alder som timestamp af deres fødselsdato, hvordan kan jeg så gøre sådan at jeg kan Skrive en alder f. eks 21 i et søgefelt og så lede i databasen efter alle de timestamps hvor brugeren er 21?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
16. januar 2007 - 19:46
#1
timestamp, er vel et datetime felt? I formatet Y-m-d ??
16. januar 2007 - 19:48
#2
Nej er gemt i: mktime(0,0,0,$maaned,$dag,$aar);
16. januar 2007 - 19:56
#3
hmm, ok, men med et datefelt, ville dette ellers virke! :O) $find = "SELECT * FROM tabel WHERE (YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(), 5)<RIGHT(birth, 5)) = ". intval($_POST["alder"]); $hent = mysql_query($find) or die (mysql_error()); Men kan da ændres til brug for et timestamp
16. januar 2007 - 20:03
#4
Okay, kan nemt lave det om så formatet bliver et datefelt. Men forstår ikke helt din $find variable
16. januar 2007 - 20:05
#5
intval($_POST["alder"]) sikrer at det er ewt tal du bruger i query (YEAR(CURDATE())-YEAR(birth))-(RIGHT(CURDATE(), 5)<RIGHT(birth, 5)) er hentet fra manuelen, og udregner et datefelt til antal år.
16. januar 2007 - 20:06
#6
Altså feltet "birth" er f.eks. 1963-12-27
16. januar 2007 - 20:16
#7
kan ikke lige finde fejlen ved dette: <? if(!empty($_POST[submit])){ include("sqlserver.php"); $birth=$_POST["alder"]; $find = "SELECT * FROM brugerdb WHERE (YEAR(CURDATE())-YEAR($birth))-(RIGHT(CURDATE(), 5)<RIGHT($birth, 5)) = ". intval($_POST["alder"]); $hent = mysql_query($find) or die (mysql_error()); $antal = mysql_num_rows($hent); echo $antal; } ?>
16. januar 2007 - 20:17
#8
$birth skal være feltnavnet i din tabel
16. januar 2007 - 20:19
#9
<?php if(!empty($_POST[submit])){ include("sqlserver.php"); $find = "SELECT * FROM brugerdb WHERE (YEAR(CURDATE())-YEAR(felt))-(RIGHT(CURDATE(), 5)<RIGHT(felt, 5)) = ". intval($_POST["alder"]); $hent = mysql_query($find) or die (mysql_error()); $antal = mysql_num_rows($hent); echo $antal; } ?> Og felt skal jo så være et date felt, a'la' 1977-01-16
16. januar 2007 - 20:20
#10
ok nu virker det :) tager den højde for skudår ? :)
16. januar 2007 - 20:26
#11
Vil jeg tro, da det er "ren mysql"
16. januar 2007 - 20:31
#12
Vil jeg tro, da det er "ren mysql" er jo så nok noget vrøvl da der jo laves en udregning, uanset skudår
16. januar 2007 - 20:36
#13
Hvordan laver man så 1977-01-16 om til en alder via php?
16. januar 2007 - 20:44
#14
kan du ikke lige smide et svar :)
17. januar 2007 - 07:16
#15
21. januar 2007 - 16:03
#16
takker :)
Vi tilbyder markedets bedste kurser inden for webudvikling