![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
w tym kodzie chodzi o to że ktoś podaje kod przez formularz kod jest sprawdzany i nadawany jest mu limit czasowy przekazywany przez zmienną $limit_czasu za pomocą time() no i moj problem polega na tym że jak ktoś pisze drugi raz ten kod a będzie on nada wazny to znów zostanie nadana mu poczatkowa wartość zmiennej $limit_czasu trzeba zrobić w tym zapytaniu UPDATE coś w stylu że jeśli pole czas != 0 to nie dodawaj już do niego nic Smile ale nie mam pojęcia jak to zrealizować Ten post edytował stefan_precz 18.04.2005, 10:40:34 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
odchodząc od Twojego pytania:
Co miałeś na myśli w linijce: if ($ilosc == 0 && $ilosc[czas]<=time()) { przecież $ilość to liczba, nie tabela. Nie możesz zrobić $ilosc[czas] |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
wiem tutaj jest błąd ale zapomniałem tego poprawić, no ale nie to jest probelem tylko moje wcześniejsze pytanie
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
loozik działa,
czyli aby sprawdzić czy czas nie został przekroczony dla danego kodu muszę zrobić tylko że takie rozwiazanie cuś nie chce działać Ten post edytował stefan_precz 18.04.2005, 15:10:07 |
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
nie wiem co ci nie dziala, ale napewno taki warunek jest bledny logicznie:
if ($ilosc == 0 && $wynik[czas]<=time()) { gdyż jesli ilosć ==0 to $wynik jest pusty i napewno nie ma elemntu czas. Jeżeli już to powinno być if ($ilosc == 0 || $wynik['czas']<=time()) { PS. Pamiętaj o ciapkach edit: że już nie wspomnę że $wynik to nigdy nie będzie tablicą. Poczytaj se o mysql_query Ten post edytował nospor 18.04.2005, 15:14:18 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
bo $wynik to nie wynik zapytania, tylko "uchwyt" do wyniku. poczytaj se o mysql_query. Na podstawie $wynik musisz jeszcze odebrac dane np. mysql_fetch_array
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem tak i to samo |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
oznacza to, że albo $ilość=0 (czyli nic nie spełnia twego zapytania) albo $sprawdz['czas']<=time(). To już nie moja wina że masz takie dane.
Daj echo $ilosc; echo $sprawdz['czas']; i zobacz co ci zwraca i przeanalizuj se to |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
$ilosc zwraca 1
"$sprawdz['czas']"; zwraca zawartość pola czas |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
czyli $sprawdz['czas']<=time() czyli kod jest zły, tak? to już nie moja wina (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
Lecę domciu |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
ma porowanać czas obecny z czasem dodania i jeśli ten jest większy od tych 900 sekund przekazanych w zmiennej limit_czasu to kod nie wazny, brakuje więc w tym tego przyrówniania, a ja nie mam pojęcia jak to zapisać inaczej
Ten post edytował stefan_precz 18.04.2005, 17:08:51 |
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
to może tak:
if ($ilosc == 0 || $sprawdz['czas']+$limit_czasu<=time()) {//kod niewazny nie wiem czy oto ci chodzi, bo później w update i tak zwiekszasz czas o $limit_czasu |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
update nie zwiększy bo jest zrobione
Kod $zapytanie1="UPDATE kody_czas SET czas = ".(time()+$limit_czasu)." WHERE kod = '".$kod."' and czas=0"; czyli jeśli kod jest już raz ruszony to update go juz nie rusza (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Jeśli chodzi o twoje rozwiązanie nada nie działa, Sprawdziłem i wiem że porblem polega na tym że jeśli kod jest nowy czyli pole czas ma wartość 0 to przy tym porównianiu zawsze go odrzuci trzeba zrobić aby kod najpier update odznaczał a potem weryfikował ale nie wiem jak to zrealizwoać gdyż kod musi być najpierw sprawdzony czy jest w bazie Ten post edytował stefan_precz 19.04.2005, 10:16:20 |
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
to może tak:
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
no tak ale gdzie tutaj dalej sprawdzanie czy limit czasu dla kodu upłynął ? Poza tym jeśli kody są wazne czasowo np. przez dwa dni to ktoś kto na drugi dzień wpisze kod zostanie zablokowany przez to sprawdz['czas']==0
Ten post edytował stefan_precz 19.04.2005, 10:38:42 |
|
|
![]()
Post
#18
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ups. zapomnialem:
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 134 Pomógł: 0 Dołączył: 2.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
no cóż teraz jest tak wpisuje nowy kod działa, odznacza go po czym gdy wpisuje go ponownie zwraca błąd zły kod czyli to echo "zly kod <br>cos innego"; tutaj dalej jest to $sprawdz['czas']==0 wywaliłem to i kod działa powinien działać przez 15 minut trzeba poczekać
Ten post edytował stefan_precz 19.04.2005, 10:56:51 |
|
|
![]()
Post
#20
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
dużo masz tych rekordów w tabeli? pokaż je jak możesz.
Bo albo w tabeli masz kilka rekordów o tych samych kodach, albo ci update nie działa. No jak może ci wyskoczyć że zly kod cos innego i jednoczesnie czas=0? Musi w związku z tym bbyć więcej rekordów o tych samych kodach. No bo przecież jesli czas=0 i jest ilosc=1 to jest sprawdzane na początku. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 14:09 |