Napisałem funkcje która powinna usuwać z kilku tablic ten sam indeks oraz tworzyć nową z nowymi indeksami i przypisanie jej do tablicy, niestety zamiast usuwać jeden indeks usuwa dwa.
Np, tablica wygląda tak:
'lp' => array('1','2','0','4','','6'), 'id' => array('1','2','','','','6'), 'id_wyb' => array('1','0','','','5','6'), 'nr_wyb' => array('1','','3','','5','6'), 'id_tka' => array('1','','3','0','0','6'), 'nr_tka' => array('1','2','0','','5',''), 'ilosc' => array('0','','','0','0','60'), );
Funkcja usuwająca:
function dell($lp){ // usuwanie produktu z tablicy | wywołanie dell(1);
unset($_SESSION['koszyk']['lp'][$lp]); $x=array_values($_SESSION['koszyk']['lp']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['lp']=$x; // przypisujemy tablicę x do tablicy koszyk
unset($_SESSION['koszyk']['id'][$lp]); $id=array_values($_SESSION['koszyk']['id']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['id']=$id; // przypisujemy tablicę x do tablicy koszyk
unset($_SESSION['koszyk']['id_wyb'][$lp]); $id_wyb=array_values($_SESSION['koszyk']['id_wyb']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['id_wyb']=$id_wyb; // przypisujemy tablicę x do tablicy koszyk
unset($_SESSION['koszyk']['nr_wyb'][$lp]); $nr_wyb=array_values($_SESSION['koszyk']['nr_wyb']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['nr_wyb']=$nr_wyb; // przypisujemy tablicę x do tablicy koszyk
unset($_SESSION['koszyk']['id_tka'][$lp]); $id_tka=array_values($_SESSION['koszyk']['id_tka']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['id_tka']=$id_tka; // przypisujemy tablicę x do tablicy koszyk
unset($_SESSION['koszyk']['nr_tka'][$lp]); $nr_tka=array_values($_SESSION['koszyk']['nr_tka']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['nr_tka']=$nr_tka; // przypisujemy tablicę x do tablicy koszyk
unset($_SESSION['koszyk']['ilosc'][$lp]); $ilosc=array_values($_SESSION['koszyk']['ilosc']); // tworzymy nową tablice x z nowymi indeksami $_SESSION['koszyk']['ilosc']=$ilosc; // przypisujemy tablicę x do tablicy koszyk
}
I po wywołaniu funkcji dell(1); usuwa mi ze wszystkich tablic wartość "2" oraz "3" która powinna zostać.
Usuwa po prostu te indeksy o które mi chodzi, oraz ten jeden dalej, który ma zostać, niestety nie wiem dlaczego, mogę liczyć na waszą pomoc?