Kiedy tablica jest pusta, funkcja wykonuje "drugi blok" w "funkcji add" i wszystko jest ok.
Przy drugim produkcie z takimi samymi 'id' itd... nadpisuje się ilość produktów "pierwszy blok", dla indeksu 0 (czyli ok)
Przy trzecim produkcie ale już z innymi wybarwieniami wykonuje się "drugi blok" z indeksem 1 (czyli ok)
Natomiast przy czwartym produkcie i 'id' itd... takim jak w drugim produkcie wykonuje się znowu "blok drugi" i dodaje następny indeks (2) a powinien wykonać "blok pierwszy" i nadpisać indeks 0.
Męczę się już z tym 4 dni i nie wiem o co chodzi, dlatego proszę Was o pomoc

// funkcja aktualizująca function update($lp, $u_id, $u_id_wyb, $u_nr_wyb, $u_id_tka, $u_nr_tka, $u_ilosc){ // aktualizacja tablicy; $_SESSION['koszyk']['id'][$lp]=$u_id; $_SESSION['koszyk']['id_wyb'][$lp]=$u_id_wyb; $_SESSION['koszyk']['nr_wyb'][$lp]=$u_nr_wyb; $_SESSION['koszyk']['id_tka'][$lp]=$u_id_tka; $_SESSION['koszyk']['nr_tka'][$lp]=$u_nr_tka; $_SESSION['koszyk']['ilosc'][$lp]=$u_ilosc; } // funkcja dodająca function add($id, $id_wyb, $nr_wyb, $id_tka, $nr_tka, $ilosc){ if(($a == TRUE) and ($b == TRUE) and ($c == TRUE) and ($d == TRUE) and ($e == TRUE)){ // sprawdzenie czy występuje prudukt ze wszystkimi takimi samymi danymi // pierwszy blok $z=$_SESSION['koszyk']['ilosc'][$kluczid]; update($kluczid, $id, $id_wyb, $nr_wyb, $id_tka, $nr_tka, $z+1); // aktualizacji jeżeli wszystkie dane są takie same }else{ // drugi blok $_SESSION['koszyk']['lp'][]=$x+1; $_SESSION['koszyk']['id'][]=$id; $_SESSION['koszyk']['id_wyb'][]=$id_wyb; $_SESSION['koszyk']['nr_wyb'][]=$nr_wyb; $_SESSION['koszyk']['id_tka'][]=$id_tka; $_SESSION['koszyk']['nr_tka'][]=$nr_wyb; $_SESSION['koszyk']['ilosc'][]=$ilosc; } }