Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Szukam pomocy - Obliczanie wieku wg daty ur na joomli
Forum PHP.pl > Forum > Bazy danych
bartekz85
Hej,

mam postawioną stronę na joomli, są tam profile użytkowników jako dodatek chcę wprowadzić aby system na podstawie daty urodzin obliczył wiek i go zaprezentował na profilu użytkownika.

O to co udało mi się do tej pory stworzyć:

  1. <?php $wynik = mysql_query("SELECT (YEAR(CURDATE()) - YEAR(urodzony)) - (RIGHT(CURDATE(), 5) < RIGHT(urodzony, 5)) AS wiek FROM uz470_k2_items") or die('Błąd zapytania'); if(mysql_num_rows($wynik) > 0) {echo "<div>"; while($r = mysql_fetch_object($wynik)) {echo $r->wiek;} echo "</div>"; }?>


w sql tabela "urodziny" jest podana data urodzin.

Kod działa poprawnie ale wyświetla wszystkie możliwe wyniki ale chciałbym aby wyświetlił odpowiedni wynik do odpowiedniego profilu użytkownika/id.

Próbowałem różnych sposób i za każdym razem pojawiają się wszystkie wyniki.
mortus
Trzeba w klauzuli WHERE połączyć odpowiednią kolumnę w tabeli z id profilu. Przykład:
  1. SELECT (YEAR(CURDATE()) - YEAR(urodzony)) - (RIGHT(CURDATE(), 5) < RIGHT(urodzony, 5)) AS wiek FROM uz470_k2_items WHERE tabela.kolumna = USER_ID

gdzie:
tabela.koluma to kolumna tabeli, w której przechowywane są identyfikatory użytkowników
USER_ID - to identyfikator użytkownika przekazany w formularzu lub w adresie url lub w tablicy $_SESSION.
bartekz85
dzięki za pomoc ale kod działa tylko jak wpiszę na sztywno ID jednego użytkowników.
sazian
więc musisz znaleźć id użytkownika którego profil jest aktualnie przeglądany
na pewno masz to w jakiejś zmiennej zapisane
bartekz85
na sztywno mam wpisane tak:

  1. WHERE id = '94'



nie mogę znaleźć odpowiedniej zmiennej, która by nie zwracała błędu, odpowiedzialnej za sprawdzenia jakie ID jest obecnie przeglądane.

i co... nikt nie umie mi pomóc?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.