![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 8.12.2014 Skąd: Czernina Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam pewien problem z masową aktualizacją danych w bazie danych z poziomu skryptu php. Mam przykładowo tabelę XXXX_users z struktórami jak: - user_id - name - user_group - time_limit itd ale nie są one ważne tylko te co podałem. Na stronie użytkownicy mają różne grupy (user_limit), niektórzy z nich daną grupę mają na określony czas (time_limit) i np.w bazie mam tak: user_id | name | user_group | time_limit 1 | Admin |1 | 2 | Kowalski |3| 1651789500 3 | Nowak | 4 | 4 | Somsiad | 3 | 1851789500 teraz potrzebuję że jeśli wartość time_limit jest więsze niż 0/NULL ale mniejsze niż aktualna data to wartość user_group zmieni się tylko dla tej 1 osoby. Napisałem taki kod:
Kod ogólnie działa ale zmienia mi wartość user_group dla wszystkich użytkowników i pytanie jak zrobić by nie zmieniało mi wartość wszystkim użytkownikom a tylko tym co posiadają wartość time_limit który się "skończył" |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tutaj wgl. nie masz warunku WHERE więc nie będzie działać
Dodaj w zapytaniu WHERE time_limit IS NOT NULL AND time_limit > 0 AND time_limit < $date_now |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 8.12.2014 Skąd: Czernina Ostrzeżenie: (0%) ![]() ![]() |
Dodałem ale nic się nie dzieje, nawet teraz widzę że ten mój kod nie chce działać a wczoraj jeszcze zadziałał jakimś cudem.
Podejrzewam że data zapisywana w tabeli nie jest porównywalna do tego co mam pod $date_now W bazie data zapisana jako: 1651850400 odpowiada dacie 2022-05-06 17:20 może trzeba jakoś zakodować $date_now by skrypt mógł porównywać zapisaną datę w bazie z aktualną datą i godziną |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 396 Pomógł: 71 Dołączył: 15.07.2014 Ostrzeżenie: (0%) ![]() ![]() |
To użyj pustego time() albo strtotime() zamiast date()
Ten post edytował Salvation 6.05.2022, 17:33:33 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 98 Pomógł: 0 Dołączył: 8.12.2014 Skąd: Czernina Ostrzeżenie: (0%) ![]() ![]() |
Nadal nic :/
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 4.05.2019 Skąd: PHP5.6 Ostrzeżenie: (0%) ![]() ![]() |
W bazie masz unix date więc w PHP nie spełnisz ostatniego warunku. Pamiętaj też, że warunki PHP nie określają warunków zapytania SQL więc warunek WHERE jest konieczny jak już zostało wspomniane wyżej.
![]()
Ten post edytował phpuser88 7.05.2022, 13:34:54 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 21.06.2025 - 12:04 |