Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Usuwanie danych z tablicy
northwest
post
Post #1





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


Witam serdecznie.
Mam takie tworzenie tablicy (kod uproszczony):
  1. <?php
  2. if(!isset($_SESSION['tablica']))    //jezeli sesja po raz pierwszy otwarta
  3.    {
  4.        $_SESSION['tablica']=array();  
  5.    }
  6.    if(!isset($_SESSION['id']))
  7.    {
  8.        $_SESSION['id']=0;
  9.    }
  10.    if(isset($_GET['i']))
  11.    {
  12.        $_SESSION['tablica'][$_SESSION['id']]=$_GET['i']."|".$_GET['ilosc'];
  13.        $_SESSION['id']++;
  14.    }
  15. ?>


$_GET[id] = id produktu
$_GET[ilosc] = ilość produktów

Chciałbym teraz jakoś usuwać rekordy z tej tablicy...
Np. wszystkie które mają $_GET[id] = 1...

Wie ktoś może jak to zrobić?


Z góry dzięki za pomoc,
pozdrawiam Northwest
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 18)
Skie
post
Post #2





Grupa: Zarejestrowani
Postów: 555
Pomógł: 84
Dołączył: 20.02.2008
Skąd: Małopolska

Ostrzeżenie: (0%)
-----


unset() + in_array()


--------------------
Wieloprocesowość i wielowątkowość w PHP, poznaj Kraken PHP!
Serwer HTTP i WebSocket w PHP | Promise/A+
Strona Domowa | Elradia MMORPG
FireFox: make the web better.
Go to the top of the page
+Quote Post
northwest
post
Post #3





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


qurcze, nie kumam za bardzo tego ... :/
Mógłbyś mi podać jakiś przykład tego usuwania?
Go to the top of the page
+Quote Post
Fifi209
post
Post #4





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(northwest @ 3.08.2009, 16:22:50 ) *
qurcze, nie kumam za bardzo tego ... :/
Mógłbyś mi podać jakiś przykład tego usuwania?


A czytałeś co kolega dał?

unset do usuwania danych

A in_array do sprawdzenia czy dane są w tablicy.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
northwest
post
Post #5





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


coś takiego próbowałem:
function clean_get(&$item, $key, $k2check, $v2clean) {
if ($key == $k2check && $item == $v2clean) unset($item);
}

ale nie za bardzo chciało mi to działać sad.gif
Go to the top of the page
+Quote Post
Pawel_W
post
Post #6





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


jakbyś dał to w tag php, to zobaczyłbyś że przed $ masz &
  1. <?php
  2. function clean_get(&$item, $key, $k2check, $v2clean) {
  3. if ($key == $k2check && $item == $v2clean) unset($item);
  4. }
  5. ?>

poprawnie:
  1. <?php
  2. function clean_get($item, $key, $k2check, $v2clean) {
  3. if ($key == $k2check && $item == $v2clean) unset($item);
  4. }
  5. ?>
Go to the top of the page
+Quote Post
northwest
post
Post #7





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


fakt... ale nie pomogło sad.gif
Warning: array_walk() expects at most 3 parameters, 4 given in /var/www/dodajzamowienie.php
Go to the top of the page
+Quote Post
Pawel_W
post
Post #8





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


sorry, ale ja tu nie widze tej funkcji..
Go to the top of the page
+Quote Post
northwest
post
Post #9





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


ojj fakt, przepraszam
  1. <?php
  2. function clean_get($$item, $key, $k2check, $v2clean) {
  3. if ($key == $k2check && $item == $v2clean) unset($item);
  4. }
  5.  
  6. array_walk($_GET,'clean_get', 'id', 1);
  7. ?>


kombinowałem coś takiego... ale bez rezultatu sad.gif
Go to the top of the page
+Quote Post
Pawel_W
post
Post #10





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


jednak mój błąd, przed $ powinien być &
Go to the top of the page
+Quote Post
northwest
post
Post #11





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


działą Ci to? bo mi nie chce :/

próbowałem też czymś takim:
  1. <?php
  2. for($i = 0; $i<$_SESSION['id']; $i ++){
  3.  
  4.  if($_SESSION['tablica'][$i]['id'] == $_GET['id']){
  5.  
  6.    unset ($_SESSION['tablica'][$i]['id']);
  7.  
  8.    unset ($_SESSION['tablica'][$i]['ilosc']);
  9.  
  10.    break;
  11.  
  12.  }
  13. }
  14. ?>


ale niestety nie działa :/ qurcze,nooooo :/
Go to the top of the page
+Quote Post
Fifi209
post
Post #12





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Zrób var_dump tej tablicy, z której chcesz usuwać... i wklej tutaj.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
northwest
post
Post #13





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


  1. <?php
  2. array(5) { [0]=>  string(4) "10|1" [1]=>  string(4) "10|1" [2]=>  string(3) "2|3" [3]=>  string(3) "3|7" [4]=>  string(3) "3|7" }
  3. ?>


Coś takiego mam..
Go to the top of the page
+Quote Post
Fifi209
post
Post #14





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(northwest @ 4.08.2009, 06:23:15 ) *
  1. <?php
  2. array(5) { [0]=>  string(4) "10|1" [1]=>  string(4) "10|1" [2]=>  string(3) "2|3" [3]=>  string(3) "3|7" [4]=>  string(3) "3|7" }
  3. ?>


Coś takiego mam..


Twoje wypowiedzi mnie przerażają, dałeś var_dump'a ale żeby napisać dokładnie co chcesz zrobić to już nie łaska?


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
northwest
post
Post #15





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


ajć, przepraszam :/
chciałbym na podstawie zmiennej $_GET[id] czyścić tablicę...
ta sesja to mój koszyk, i po kliknięciu linka chce wyczyścić całą tablicę na podstawie ww zmiennej...
Go to the top of the page
+Quote Post
Fifi209
post
Post #16





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Cytat(northwest @ 4.08.2009, 08:55:50 ) *
ajć, przepraszam :/
chciałbym na podstawie zmiennej $_GET[id] czyścić tablicę...
ta sesja to mój koszyk, i po kliknięciu linka chce wyczyścić całą tablicę na podstawie ww zmiennej...


Przykład co chcesz usunąć poproszę. smile.gif

np.

"Mam tablicę:
array('a', 'b', 'c');

i chciałbym usunąć b da się? "

Bo takie tłumaczenie całego problemu nie ma sensu.

P.S. Mnie interesuje gdzie to id chcesz podstawić. ;p


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
northwest
post
Post #17





Grupa: Zarejestrowani
Postów: 788
Pomógł: 1
Dołączył: 17.09.2004

Ostrzeżenie: (10%)
X----


array(5) { [0]=> string(4) "10|1"
[1]=> string(4) "10|1"
[2]=> string(3) "2|3"
[3]=> string(3) "3|7"
[4]=> string(3) "3|7" }
w takim formacie mam dane w tablicy: $_GET['i']."|".$_GET['ilosc'] = numer id | ilość.

chciałbym usuwać po tym $_GET[i] - to jest moje id, i na tej podstawie chce usuwać z tablicy...

ps. dziękuje za cierpliwość :-)
Go to the top of the page
+Quote Post
janusz85
post
Post #18





Grupa: Zarejestrowani
Postów: 26
Pomógł: 5
Dołączył: 29.07.2009

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function delete($what)
  3. {
  4. foreach($_SESSION['tablica'] as $key=>$value)
  5. {
  6. $tmp = explode('|', $value);
  7. if ($tmp[0] == $what)
  8. {
  9. unset($_SESSION['tablica'][$key]);
  10. }
  11.  
  12. }
  13. }
  14. ?>


Jak nie ma literówki, to powinno hulać.

Ten post edytował janusz85 4.08.2009, 09:41:32
Go to the top of the page
+Quote Post
Fifi209
post
Post #19





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

Ostrzeżenie: (0%)
-----


Moim zdaniem zapisywanie czegoś w formacie cos|cos2 jest bez sensu. Nie lepiej wrzucić to do kolejnego array'a? W dodatku odpowiednia budowa tablic ma tutaj znaczenie.


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:16