Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] ilu w danej grupie wiekowej?
dentopolis
post 18.08.2016, 19:20:57
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


nie mam w bazie wieku pacjenta ale datę urodzenia.obliczam więc wiek.chcę teraz utworzyć prosty wykres przedstawiający ilu mam pacjentów w wieku 0-10;10-20;itd.jak policzyć to najlepiej ilu jest w danej grupie wiekowej?

  1. $sql2 = "SELECT dataurodzenia FROM `gabinet_pacjenci`";
  2. $result2 = $conn->query($sql2);
  3.  
  4. if ($result2->num_rows > 0) {
  5. while($row = $result->fetch_assoc()) {
  6.  
  7. $today = new DateTime();
  8. $dataurodzenia = $row['dataurodzenia'];
  9. $birthdate = new DateTime($dataurodzenia);
  10. $interval = $today->diff($birthdate);
  11. $wiek = $interval->format('%y');
  12.  
  13. $zakres1 = $wiek > 60 ;
  14. echo $zakres1;
  15. }
  16. } else {
  17. echo "brak wyników";
  18. }
Go to the top of the page
+Quote Post
trueblue
post 18.08.2016, 19:34:20
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

Ostrzeżenie: (0%)
-----


  1. SELECT COUNT(*) AS ilosc_w_zakresie,zakresy.minimum,zakresy.maksimum
  2. FROM gabinet_pacjenci AS gp,
  3. (
  4. SELECT 0 AS minimum,10 AS maksimum
  5. UNION
  6. SELECT 10,20
  7. UNION
  8. SELECT 20,30
  9. ) AS zakresy
  10. WHERE YEAR(CURDATE())-YEAR(gp.dataurodzenia)>=zakresy.minimum AND YEAR(CURDATE())-YEAR(gp.dataurodzenia)<zakresy.maksimum
  11. GROUP BY zakresy.minimum


Zamiast UNION z zakresami możesz podstawić tam fizyczną tabelę z zakresami.
Wiek jest liczony na podstawie różnicy lat, więc nie jest dokładny, możesz tam wstawić dokładniejszą formułę.


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 31.07.2025 - 10:31