~Roguś problem nie leży w pętli. Kłopot zaczyna się zanim do niej wejdziesz i zaczniesz się w niej poruszać.Zwróć uwagę na błąd:
Cytat
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\usr\krasnal\konto\admin\admin.php on line 36
To oznacza że to co dostała funkcja
mysql_fetch_array() było już błędne.Wniosek: to co zwróciła funkcja
mysql_query() jest błędne bądź (to ważne!) zapytanie zwróciło
0 wyników.Żeby sprawdzić co się stało wyświetl to co zwraca
mysql_error" title="Zobacz w manualu PHP" target="_manualoraz sprawdź ile wyników masz w rezultacie wykonania zapytania (
mysql_ num_ rows" title="Zobacz w manualu PHP" target="_manual).Sprawdź to oczywiście zanim wejdziesz do pętli (zanim wykonasz
mysql_ fetch_ array" title="Zobacz w manualu PHP" target="_manual).
--update--P.S.Pisanie
$row[kategoria] to błąd. Zresztą zawsze używanie indeksów tekstowych w tablicach asocjacyjnych bez apostrofów bądź znaków cudzysłowu to błąd.Parser PHP działa tak: Natrafia na indeks
kategoria, bierze go za stałą ponieważ nie jest zapisany jako string (nie ma " ani ') ale takiej stałej nie ma. Parser generuje Warning (albo Notice, nie pamiętam), ale ten błąd nie jest krytyczny więc skrypt jedzie dalej.Parser tworzy stałą której brakuje i nadaje jej wartość taką samą jak jej nazwa czyli mamy stałą
kategoria o wartości
kategoria. Teraz ma indeks i może znaleźć wartość w tablicy. Zwraca ją a, że wyświetlanie błędów masz wyłączone to wszystko gra.
Otóż nie. Takie błędy mogą spowolnić działanie skryptu o prawie 30%