[PHP]Funkcja if kilka warunków |
[PHP]Funkcja if kilka warunków |
20.10.2023, 18:22:38
Post
#21
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
Ja nie widze zadnych zmian. Nadal wszedzie tam gdzie mialo by == to jest =
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
20.10.2023, 18:37:31
Post
#22
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
ach racja
|
|
|
20.10.2023, 20:39:36
Post
#23
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
Skoro jak twierdzisz, nie wykonuje ci sie to
$result = $mysqli->query("UPDATE liczniki SET licznik=licznik+1 WHERE date = '".$dataa."' AND miasto = '".$rodzaj_danych."'"); to sprawdz co zawieraja zmienne z twojego warunku if (( $dzisiaj == date('Y-m-d') ) && ( $miastoid == $rodzaj_danych )){ var_dump($dzisiaj); var_dump($miastoid); var_dump($rodzaj_danych); No przeciez to jest logiczne ze tak trzeba zrobic... swoja droga moglbys jakos normalnie nazywac zmiennej, odnosnie tego co zaweiraja a nie losowo. W obecnej nazewniczej sytuacji nie trudno o mase glupich innych bledow -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.10.2023, 07:08:43
Post
#24
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
W tym całym kodzie poprawnie działa tylko przypadek kiedy w BD nie ma dzisiejszej daty - wtedy jest dopisywany nowy rekord. Jeśli jest już dzisiejsza data i przypisane do niej miasto Szczecin to po wywołaniu strony ze Szczecinem tworzy się nowy rekord w BD a powinien tylko dodać 1 do licznika przy tym wcześniejszym rekordzie. |
|
|
21.10.2023, 08:02:08
Post
#25
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
Prosilem zebys sprawdzic zmienne z tego IFa. Zrobiles to?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.10.2023, 08:32:03
Post
#26
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Zawierają
$dzisiaj - 2023-10-21 $miastoid - szczecin $rodzaj_danych - szczecin |
|
|
21.10.2023, 08:46:18
Post
#27
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
Ja cie proszse zebys podal mi dokladnie to co zwraca var_dump. Dokladnie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.10.2023, 09:00:01
Post
#28
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
string(10) "2023-10-21" string(9) "szczecin" string(9) "szczecin"
|
|
|
21.10.2023, 09:21:16
Post
#29
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
No to widac wyraznie ze wartosci wszystkie sie zgadzaja i ten warunek
if (( $dzisiaj == date('Y-m-d') ) && ( $miastoid == $rodzaj_danych )){ sie musi wykonac. Moze wiec twoje zapytanie sie nie wykonuje Zrob: if (( $dzisiaj == date('Y-m-d') ) && ( $miastoid == $rodzaj_danych )){ echo 'WIDZISZ MNIE?!!';exit; $result = $mysqli->query("UPDATE liczniki SET licznik=licznik+1 WHERE date = '".$dataa."' AND miasto = '".$rodzaj_danych."'"); } -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
21.10.2023, 09:40:59
Post
#30
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Po co else if i else skoro i tak mają wykonać się takie same zapytania? Inna sprawa, że zamiast tworzyć ify i kilka zapytań, wystarczy nadać na pole date i miasto klucz unique i stworzyć jedno zapytanie bez żadnych ifów:
Gdybyś użył powyższego, to nadając wartość domyślną 1 dla pola licznik, wystarczy wstawiać dane tylko do date i miasto. Ten post edytował trueblue 21.10.2023, 09:42:22 -------------------- |
|
|
21.10.2023, 09:56:41
Post
#31
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
O co chodzi?
Mam listę miast po wybraniu odpowiedniego miasta jesli nikt wcześniej dzisiaj nie wybrał tego miasta to pojawia się nowy rekord w BD id: 1 data: 2023-10-21 miasto: szczecin licznik: 1 Jeśli ktoś wejdzie na stronę i wybierze inne miasto to do bazy trafia kolejny rekord: id: 2 data: 2023-10-21 miasto: koszalin licznik: 1 Teraz jeśli ktoś wejdzie na strone i wybierze ponownie szczecin to do bazy danych tam gdzie było id: 1 dodaje się tylko wartość do licznika. Teraz mam tak, że jak ktoś ponownie wybierze szczecin to tworzy sie nowy rekord: id: 3 data: 2023-10-21 miasto: szczecin licznik: 2 Oczywiście przy zmianie daty ponownie pojawiają się nowe rekordy i tak dalej. Dodałem to echo 'WIDZISZ MNIE?';exit; i pojawia się na stronie ale to chyba normalne? Po co else if i else skoro i tak mają wykonać się takie same zapytania? Inna sprawa, że zamiast tworzyć ify i kilka zapytań, wystarczy nadać na pole date i miasto klucz unique i stworzyć jedno zapytanie bez żadnych ifów:
Gdybyś użył powyższego, to nadając wartość domyślną 1 dla pola licznik, wystarczy wstawiać dane tylko do date i miasto. Te wywołanie powoduje, że za każdym razem dodawany jest nowy rekord do BD Ten post edytował brzanek 21.10.2023, 09:46:04 |
|
|
21.10.2023, 10:06:36
Post
#32
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Te wywołanie powoduje, że za każdym razem dodawany jest nowy rekord do BD A założyłeś unikalny dwupolowy klucz na date i miasto? -------------------- |
|
|
21.10.2023, 10:43:47
Post
#33
|
|
Grupa: Zarejestrowani Postów: 427 Pomógł: 0 Dołączył: 8.11.2012 Ostrzeżenie: (0%) |
Niby założyłem unikalny klucz ale nie wiem czy dwupolowy
Ale nie działa to tak jak powinno Dobra chyba sobie poradziłem - trueblue dzięki za pomoc |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 00:37 |