Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Problem z tablicą
Forum PHP.pl > Forum > Przedszkole
Gereid
Witam, pisze skrypt który jest odpowiedzialny za wyświetlenie galerii na stronie, i napotkałem na błąd którego nie potrafię zrozumieć.

Skrypt opiera się na tekstowej bazie danych, każdy wiersz pliku odpowiada jednemu zdjęciu, a wartości są oddzielone znakiem /t.

Skrypt ma za zadanie przelecieć wszystkie wiersze pliku, i te w których zachodzi Zgodność ID ma dodać do tablicy która będzie przetwarzana przez dalszą część skryptu.
oto kod:
  1. $plk = file('database/baza.txt');
  2. $tmpcount = count($plk);
  3.  
  4. for ($i = 0; $i < $tmpcount; $i++) {
  5. $rekord = explode( "\t", $plk[$i]);
  6. $a = (int) $rekord[3]; // tutaj jest ID kategorii
  7. $b = (int) $_GET['cat'];
  8.  
  9. if($a==$b)
  10. {
  11. $tablica[] = $plk[$i];
  12. echo $tablica[$i];
  13. }
  14. }


Skrypt krzaczy się w ostatnim wierszu - tzn wypisuje potrzebne elementy od zerowego, aż napotka element który nie spełnia $a==$b

powiedzmy ze w 2 wierszu nie zachodzi zgodność z $_GET, wiersz jest omijany i zostaje przypisany następny. echo $tablica[3] wypisuje jej zawartość poprawnie.

Gdzie jest błąd?
nospor
$tablica[] = $plk[$i];
echo $tablica[$i];
Nie wypisywać $Tablica[$i] bo jak w miedzyczasie był rekord który nie spełaniał warunku, to wówczas masz już niezachowaną numerację względem $i bo ty dodajesz do tablicy po kolei bez numerowania po $i

ewnetulanie popraw zapis
nie: $tablica[] = $plk[$i];
a: $tablica[$i] = $plk[$i];
Gereid
Działa smile.gif dzięki wielkie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.