![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam tego typu problem, że Nie mam pomysłu/nie wiem jak zrobić porównanie ilości punktów użytkownika z Rangą którą będzie miał od tylu punktów. Użytkownik ma jakąś tam liczbę punktów, np. 30. W bazie danych mam kolumny "tytul", "punkty". I przykładowe rekordy: Początkujący 10 Bywalec 20 Zaawansowany 40 Mistrz 60 I nie wiem jak zrobić, aby ten użytkownik miał tytuł "Bywalec" a nie np. Początkujący. W jaki sposób tego dokonać? Pozdrawiam! |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 285 Pomógł: 18 Dołączył: 30.01.2014 Skąd: <?=$_GET['city']?> Ostrzeżenie: (0%) ![]() ![]() |
mysle ze tak najlatwiej, nie wiem jak z optymalnoscia. edit: skasowalem if na 0-9 punktow Ten post edytował ZaXaZ 13.08.2014, 18:59:34 -------------------- Jak poprawnie zadać pytanie || Generator #RRGGBB || Kurs: php, mysql <> html & css || Hosting || Validator: html, css || Narzędzia dla programistów |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
mysle ze tak najlatwiej, nie wiem jak z optymalnoscia. edit: skasowalem if na 0-9 punktow W ten sposób naturalnie wiem, ale mi chodzi o jakiś jeden warunek który będzie wybierał rangę na podstawie ilości punktów, że dodaję nową rangę do bazy i to od razu działa, a nie modyfikować za każdym razem kod PHP gdy jest nowa ranga. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 17 Dołączył: 4.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
tak na szybko.
edit: testowalem powinno dzialac, tablice z rangami generuj na początku skryptu, następnie możesz dla każdego użytkownika pobierać range, podając jego ilość punktów i tablice z rangami. Ten post edytował golabow 13.08.2014, 19:36:57 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 651 Pomógł: 116 Dołączył: 3.06.2012 Skąd: Lędziny Ostrzeżenie: (0%) ![]() ![]() |
Skoro w bazie masz te wszystkie rangi i ich punkty zapisane to najlepiej pobierać z bazy te rangi i analizować z tym co posiada user:
Zapytanie z bazy najlepiej cachować bo przypuszczam, że nie będziesz co chwilę dodawał nowych rang. Przy dodawaniu nowych rang trzeba by wyczyścić cache, jeśli będziesz je dodawał z poziomu strony (np. panel admina) to żaden problem dodać mechanizm czyszczący cache. Ten post edytował Michael2318 13.08.2014, 19:22:42 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 26.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Cytat Michael2318 Przeanalizowałem twój kod i napisałem go bardziej po swojemu:
Wszystko działa prawie OK. Jest tylko jedna mała wada... Gdy jakiś rekord jest nie po kolei w bazie, np. tak: Nowy 0 Początkujący 10 test 20 super 15 To kod omija ostatni rekord który ma mniejszą liczbę niż poprzedni. Jest też może na to rada? Pozdrawiam. ------------------------ @EDIT: Bardzo prosta sprawa, dziwię się, że od razu na to nie wpadłem. Wystarczy po prostu zapytanie posortować według liczby punktów/postów, czyli "ORDER BY posty ASC" i sprawa załatwiona. Dzięki wielkie za pomoc ![]() Pozdrawiam. Ten post edytował Asig 13.08.2014, 20:12:59 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:44 |