Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 10.05.2010 Ostrzeżenie: (0%)
|
Cześć.
Napisałem skrypt stronicowania. Wszystko działa, jednak gdy wejdę prosto z indexu bez żadnych np. ?cmd=0 itp. to wywala błąd poniżej. Cytat Notice: Undefined index: cmd in C:\wamp\www\strona\index.php on line 12 Ale poniżej wszystko gra. Tylko ten błąd mnie denerwuje. Jak go usunąć? Kod skryptu jest taki:
Ten post edytował c00per 10.05.2010, 16:51:12 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
@nospor: sprawdź pętle. O ile z ifem mi to różnie działało (raz zmienna wewnątrz if była widziana poza nim, raz nie - chyba zależne od wersji php i ustawień tegoż bo nie widzę innej możliwości), tak w pętlach uzna zmienną za lokalną i poza nią na bank mi się "gubiło" ustawiając ją przy wywołaniu "pozapętlowym" na domyślny ciąg pusty lub 0, zależnie od kontekstu. Stąd wolę zawsze ustawić wartość domyślną wpierw, a potem ją ewentualnie zmienić w trakcie działania skryptu. Dla mnie bezpieczniejsze i wygodniejsze podejście niż sprawdzanie czy gdzieś nie zapomniałem w else czegoś ustawić awaryjnie.
@c00per: pierwszy parametr LIMIT oznacza offset. Jeśli wstawię tam na pałę numer strony to odczyta mi LIMIT 0,3 lub LIMIT 1,3 czy też LIMIT 2,3 co można przetłumaczyć "odczytaj 3 rekordy z tabeli zaczynając od wiersza nr X w kolejności". Zamiast więc skakać blokami (0,1,2), (3,4,5), (6,7,8) skrypt tworzy: (0,1,2), (1,2,3), (2,3,4). Chyba widzisz różnicę? Zmyłką może być dla Ciebie jedna rzecz... Popatrz JAK tworzysz link. Tam wpychasz nielogiczne wywołanie nieco gdzie pod numerkiem strony 2 masz tak naprawdę wywołanie 6 zamiast sensowniejszego i przepchnięcie tego mnożenia do, podanego przeze mnie, zmienionego LIMIT. Jeśli nadal nie widzisz to popatrz jakie cmd się ustawia gdy klikniesz strony 2, 3 czy 5... Nie 2, 3 i 5 tylko 6, 9 i 15. Tak może być, ale może być nieco mylące. |
|
|
|
c00per Stronicowanie 10.05.2010, 16:44:45
nospor [PHP] pobierz, plaintext if (isset($_GET... 10.05.2010, 18:32:36
c00per Lipa. Nie działa. Jak błąd wyskakiwał, tak wyskaku... 10.05.2010, 18:56:15
thek nospor, poza if i pętlami będzie problem z zasięgi... 10.05.2010, 19:09:03
c00per Cytatnospor ?
Mógłbyś mi wyjaśnić co to jest? Gdy... 10.05.2010, 19:15:19
nospor kod co ci podalem jest poprawny. pewnie go źle wkl... 10.05.2010, 19:38:24
c00per Mój błąd. Zwracam honor. Mówiliście dobrze. Dzięki... 10.05.2010, 20:55:15
c00per No tak Kruczek w linkach. Dzięki @thek za wyjaśni... 11.05.2010, 14:23:16 ![]() ![]() |
|
Aktualny czas: 25.12.2025 - 23:34 |