• 1
  • 2
2011-06-14, 17:34
  #1
Medlem
När man registerar sig fyller man i sitt personnummer, det skickas till databasen och sen ligger det där. När jag ska använda "echo ".$row['dob']." skrivs hela personnummert ut. Jag vill endast visa:

Ålder: ??? år

Hur skapar jag en sådan kodsnutt?

Här är det jag lyckats få fram:

Kod:
<?php

include ("header.php");
include (
"connect.php");

if (isset(
$_GET['id'])) { 
$id $_SESSION['id']; 

$result mysql_query("SELECT * FROM users WHERE id=" $_GET['id']); 

while(
$row mysql_fetch_array($result)) 

                         
  { 
  
  echo 
"<table cellpadding='7' width='50%'><tr> 
  
  <td width=50%> 
  <font size='4' face='arial'> 
   "
.$row['username']."s profil
   </font> 
  </td></tr> </table>
 "
;  
  echo 
"<table cellpadding='7'>
  
  
  <tr><td><b><img src='' height='100' width='100'
  <td><b>Förnamn</b>: "
.$row['firstname']."<br>
        <b>Kön</b>: "
.$row['gender']."<br>
        <b>Ålder</b>: "
.$row['dob']."<br> // Detta som ska fixas.
  </td>
  </td>
  </tr>
  <hr>
 </table>
 <hr>
 test
  "
;
   
  } 


echo 
""

}  


include (
"footer.php");

?>
Citera
2011-06-14, 17:44
  #2
Medlem
Arkofs avatar
Plocka ut de 6/8 första ifrån $row['dob'] beroende på om födsel år sparas med 2 eller 4 tecken, sen kan du väl bara ta dagens datum minus värdet ifrån $row['dob'] sen får du avruna ner om du vill ha exakt år.
Borde nog fungera, är lite trött i huvet atm (:
Citera
2011-06-14, 17:46
  #3
Medlem
kh31d4rs avatar
har inte mysql en aggregate function som heter age?
__________________
Senast redigerad av kh31d4r 2011-06-14 kl. 17:50. Anledning: typo
Citera
2011-06-14, 17:46
  #4
Medlem
Citat:
Ursprungligen postat av Arkof
Plocka ut de 6/8 första ifrån $row['dob'] beroende på om födsel år sparas med 2 eller 4 tecken, sen kan du väl bara ta dagens datum minus värdet ifrån $row['dob'] sen får du avruna ner om du vill ha exakt år.
Borde nog fungera, är lite trött i huvet atm (:

Förstår inte hur du menar. Det jag menar är att ålder inte ska visas som 1991-08-16 eller liknande, utan 18 år.
Citera
2011-06-14, 17:48
  #5
Medlem
Arkofs avatar
Citat:
Ursprungligen postat av kh31d4r
har inte mysql en aggreagate function som heter age?
Googla lite snabbt
fick fram: http://dev.mysql.com/doc/refman/5.0/...culations.html
om de kan vara till någon hjälp
Citera
2011-06-14, 17:59
  #6
Medlem
Citat:
Ursprungligen postat av Arkof
Googla lite snabbt
fick fram: http://dev.mysql.com/doc/refman/5.0/...culations.html
om de kan vara till någon hjälp

Såg också det där då jag googlade, dock vet jag fortfarande inte hur jag ska fixa detta..
Citera
2011-06-14, 18:09
  #7
Medlem
Kod:
$age date_diff(date_create($row['dob']), date_create('now'))->y
Om row['dob'] strängen ser ut typ som 1972-10-22
__________________
Senast redigerad av looserulf 2011-06-14 kl. 18:12. Anledning: php tags
Citera
2011-06-14, 18:13
  #8
Medlem
Citat:
Ursprungligen postat av looserulf
Kod:
$age date_diff(date_create($row['dob']), date_create('now'))->y
Om row['dob'] strängen ser ut typ som 1972-10-22

Yes, så ser den ut.

Fatal error: Call to undefined function date_diff() in /home/a9315476/public_html/inc/profile.php on line 9
Citera
2011-06-14, 18:15
  #9
Medlem
var har du för version på php?
date_diff finns sedan PHP 5.3.0
Citera
2011-06-14, 18:28
  #10
Medlem
Citat:
Ursprungligen postat av looserulf
var har du för version på php?
date_diff finns sedan PHP 5.3.0

5.2.
Citera
2011-06-15, 15:34
  #11
Medlem
Finns det inget sätta att lösa detta på?
Citera
2011-06-15, 16:25
  #12
Medlem
Ruffzs avatar
Första träffen på google gav:

Kod:
<?php
// Calculate the age from a given birth date
// Example: GetAge("1986-06-18");
function GetAge($Birthdate)
{
        
// Explode the date into meaningful variables
        
list($BirthYear,$BirthMonth,$BirthDay) = explode("-"$Birthdate);
        
// Find the differences
        
$YearDiff date("Y") - $BirthYear;
        
$MonthDiff date("m") - $BirthMonth;
        
$DayDiff date("d") - $BirthDay;
        
// If the birthday has not occured this year
        
if ($DayDiff || $MonthDiff 0)
          
$YearDiff--;
        return 
$YearDiff;
}
?>

http://www.geekpedia.com/code79_Calc...irth-date.html

Lycka till
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in