Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]usuwanie pojedynczych pól w tablicy wielowymiarowej
Forum PHP.pl > Forum > Przedszkole
KFMon
Witam,
temat usuwania elementów z tablic wielowymiarowych jest przerobiony niejednokrotnie, niby wiem jak to się robi ale coś nie działa.

tablica wygląda następująco:
  1. (
  2. [0] => Array
  3. (
  4. [punkt] => jeden
  5. [podpunkts] => Array
  6. (
  7. [0] => Array
  8. (
  9. [podpunkt] => raz - jeden a
  10. [podid] =>0
  11. )
  12. [1] => Array
  13. (
  14. [podpunkt] => dwa - jeden b
  15. [podid] => 1
  16. )
  17. )
  18. )
  19. [1] => Array
  20. (
  21. [punkt] => dwa
  22. [podpunkts] => Array
  23. (
  24. [0] => Array
  25. (
  26. [podpunkt] => raz - dwa a
  27. [podid] => 2
  28. )
  29.  
  30. [1] => Array
  31. (
  32. [podpunkt] => dwa - dwa b
  33. [podid] => 3
  34. )
  35. )
  36. )

itd...
pętle w skrócie wyglądają następująco:
  1. <?php
  2. foreach($punkt as $pid => $punkty) //$pid - id punktu
  3. {
  4. echo punkty['punkt'];
  5.  
  6. foreach ($punkty['podpunkts'] as $podid => $podpunkty) // $podid - id podpunktu
  7. {
  8. echo $podpunkty['podpunkt']; ?>
  9. <button type="submit" name="remove" value="<?php echo $podid; ?>">Remove</button>
  10. }
  11. }

usunięcie całego jednego punktu ze wszystkimi podpunktami nie stanowi dla mnie problemu. problem stanowi usuwanie pojedynczych rekordów (podpunktów) używając przycisku lub linku (bez różnicy) np podpunktu "dwa dwa b" z tablicy:
  1. [1] => Array
  2. (
  3. [podpunkt] => dwa - dwa b
  4. [podid] => 3
  5. )

funkcja usuwająca:
  1. <?php
  2. if(isset($_POST['remove']))
  3. {
  4. $key = $_GET['remove'];
  5. unset ($punkty['podpunkts'][$key]);
  6. }
  7. ?>

Z góry dziękuję za porady co nie tak jest z funkcją usuwającą.
nospor
Nie mieszaj angielskiego z polskim w nazwach bo fatalnie to wyglada :/

unset ($punkty['podpunkts'][$key]);
Przeciez twoja tablica ma jeszcze na poczatku indeksy 0, 1 .... i jakos nie widze bys sie do nich tu odwolywal
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.