[PHP] Usuwanie tablicy z tablicy wielowymiarowej |
[PHP] Usuwanie tablicy z tablicy wielowymiarowej |
1.12.2019, 02:38:52
Post
#1
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 15.11.2019 Ostrzeżenie: (0%) |
Witam serdecznie po raz drugi
Tym razem mam problem a mianowicie gdy mam tablice wielowymiarową:
Potrzebuje usunąć całą tablicę np. [0] i otrzymać:
Oto mój kod:
ale nie działa, tzn. nie usuwa nic. Ale gdy kod wygląda tak:
Wtedy usuwa ale tylko to co jest w print_r tzn. Ale nie usuwa tego z tablicy głównej. Pomoże ktoś przerobić to tak, aby działało? |
|
|
1.12.2019, 10:05:58
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Bo jak byś to zrobił tak ci ludzie mówili wcześniej (po id) to mógłbyś usuwać produkty z określonym id
$koszyk[tutaj_id] Żeby usunąć pierwszy element https://www.php.net/manual/en/function.array-shift.php -------------------- |
|
|
1.12.2019, 14:54:07
Post
#3
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 15.11.2019 Ostrzeżenie: (0%) |
Nie dałoby się po opisie usuwać takiego ciągu? [0] => Array ( [opis] => Kurczak Kung Pao [cena] => 15 [ilosc] => 1 ) gdzie [0] to $k |
|
|
1.12.2019, 17:27:14
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 834 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Pisałem Ci już.
ID to liczba. ID może być ciągiem znaków, jak mówisz że to nazwa, ale jest to nie opłacalne. Wszakże ID: "Kurczak Kung Pao" - usunięcie spowoduje usunięcie innych kurczaków z listy. Ale jak już masz taką listę a nie inną, to co stoi na przeszkodzie, usunąć?
Przyjmuję że: $_POST['usun_produkt'] zawiera wartość klucza twojej tablicy np. <button type='submit' name='usun_produkt' value='3'>Usuń</button> dla [3] => Array ( [opis] => Wołowina w czerwonym curry [cena] => 25 [ilosc] => 1 ) |
|
|
1.12.2019, 21:17:20
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 15.11.2019 Ostrzeżenie: (0%) |
@Tomplus No super, rzeczywiście działa no ale nie do końca jak bym chciał.
Faktycznie usuwa tak jak chciałem ale wywala mi błąd kiedy usune np. tablice z indeskem 0 ponieważ tablica powinna sie na nowo przeindexować. Wiesz może jak to zrobić? Dziękuję i pozdrawiam. Ten post edytował misteroous 1.12.2019, 22:00:08 |
|
|
1.12.2019, 22:15:14
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 834 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
|
|
|
5.12.2019, 00:40:07
Post
#7
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 15.11.2019 Ostrzeżenie: (0%) |
ok problem z indeksowaniem mam z głowy dzięki funkcji array_values
zmieniłem na: i działa. Czy możesz mi wytłumaczyć @Tomplus lub którykolwiek z użytkowników jak za pomocą przycisku
usuwać tylko tablice z danym opisem (nazwą?). Tzn. zamiast tablicy z indeksem [0] usuwało jedną tablicę z opisem "$opis" która ma z góry nie określony indeks. Pozdrawiam i dziękuję za zainteresowanie tematem Witam i proszę o pomoc Zrobiłem tak i działa ale usuwa produkt po ID dopiero po 2 kliknięciu, a jak chce usunąć inny produkt to najpierw usuwa poprzedni ID a dopiero po drugim kliknięciu właściwy ID. Oto kod:
Proszę powiedzcie co jest nie tak ;/? Ten post edytował misteroous 5.12.2019, 01:26:19 |
|
|
5.12.2019, 06:32:22
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 834 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Nie usuwa Ci po drugim kliknięciu, tylko już w pierwszym, ale wyświetlasz treść jeszcze przed 1szym kliknięciem.
Pewnie masz sytuację taką:
Najprostszą metodą na upewnienie się co do poprawności treści to przekierowanie |
|
|
5.12.2019, 15:28:32
Post
#9
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 15.11.2019 Ostrzeżenie: (0%) |
Nie za bardzo rozumiem... Jeżeli dodaje tablice to działa dobrze ale kiedy już odejmuje to działa za ponownym wysłaniem bo za pierwszym razem usuwa poprzednie id. Mam nadzieje, że mnie rozumiesz.
Oto kod z koszyka:
A tu jeszcze raz funkcja usun_koszyk
@Tomplus mógłbyś to jaśniej wytłumaczyć? (O ile się da) |
|
|
5.12.2019, 15:58:23
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 834 Pomógł: 225 Dołączył: 20.03.2005 Skąd: Będzin Ostrzeżenie: (0%) |
Spójrz na swój kod ponownie, a konkretnie na fragment:
najpierw przypisujesz koszyk do zmiennej $akcesoria, a potem usuwasz z sesji klucz z tablicy. Czyli nie wciąż do dalszego kodu używasz tylko i wyłącznie to co jest w $akcesoria. Wartość z funkcji usun_koszyk() będzie dopiero po przeładowaniu, bo tam modyfikujesz wartość sesyjną. |
|
|
5.12.2019, 22:51:26
Post
#11
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 15.11.2019 Ostrzeżenie: (0%) |
|
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 21:30 |