Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Jak skasować dublujący się wpis w tablicy, Funkcje array_unique znam.
grattz
post
Post #1





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 29.10.2006
Skąd: BB

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


Mam tablice:
  1. <?php
  2. $post[53]='1212087361';
  3. $post[43]='1212087425';
  4. $post[38]='1212087427';
  5. $post[50]='1212087480';
  6. $post[53]='1212087482';
  7. ?>

Jak widać $post[53] dubluje sie(ale wartość ma inną). Ja chce zeby zawsze nadpisywało $post["$id"].
Może jakoś przy wpisywaniu do tablicy sprawdzać czy np. $post["$id"] istnieje, jesli tak to go skasować a potem dodac do listy. No własnie - Jak sie kasuje określone wpisy z tablicy ?

Ten post edytował grattz 30.05.2008, 20:22:48


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




http://pl2.php.net/manual/pl/function.unset.php


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
grattz
post
Post #3





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 29.10.2006
Skąd: BB

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


Prubuje w róznych miejscach wstawiać:
  1. <?php
  2. unset($post["$id"]);
  3. ?>

ale nic sie nie dzieje. Żle to skonstruowałem ?


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $post[53]='1212087361';
  3. $post[43]='1212087425';
  4. $post[38]='1212087427';
  5. $post[50]='1212087480';
  6. echo 'przed skasowaniem';
  7. print_r($post);
  8.  
  9. $id= 53;
  10. unset($post[$id]);
  11. echo 'po skasowaniu';
  12. print_r($post);
  13. ?>

Gdzie tu widzisz problem?

edit down: dobre, muszę zapamiętac smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




jak to mówi mój szef problem między klawiaturą a krzesłem winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
grattz
post
Post #6





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 29.10.2006
Skąd: BB

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


Ja to dałem tutaj:
  1. <?php
  2. if (isset($_SESSION['user'])){
  3.  $plik=fopen($_SESSION['user'] . ".php",'a+');
  4.  flock($plik,LOCK_EX);
  5.  unset($post[$id]);
  6.  fputs($plik,'$post['.$id.']='' .time(). '';'.$nl);
  7.  flock($plik,LOCK_UN);
  8.  fclose($plik);
  9. }
  10. ?>

Ale mimo wszystko dodaje mi kolejne wpisy. Nie kasuje wpisów wcześniejszych.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




przeciez fopen otwiera plik i zwraca uchwyt do pliku a nie wykonuje ci zawartosc pliku.

jakbys zrobil glupie print_r($post) to bys zobaczyl ze tam nic nie ma.
jakbys wlaczyl wyswietlanie bledow to bys zobaczyl ile ich masz.
Lektura obowiązkowa dla ciebie:
http://nospor.pl/php-faq-n29.html#faq-2
http://nospor.pl/php-faq-n29.html#faq-1


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
grattz
post
Post #8





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 29.10.2006
Skąd: BB

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


Przeanalizowałem Twoje FQ ale dalej nie moge sobie poradzić.
  1. <?php
  2. akbys zrobil glupie print_r($post) to bys zobaczyl ze tam nic nie ma.
  3. ?>

Ale mi sie zapisuje do tablicy to co chce. W pliku admin.php dodają mi sie wpisy za każdym razem jak wywołuje funkcję.
Chyba ze to nie chodzi o to.
To co ty dałes na początku rzeczywiście fajnie kasuje wpis. Ja juz próbowałem dawać unset($post["$id"]); w róznych miejscach i nigdy nic sie nie dzieje.


--------------------
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. <?php
  2. $plik=fopen($_SESSION['user'] . ".php",'a+');
  3. print_r($post);
  4. ?>
i wyswietla ci tablice post? jesli tak to inicjalizujesz ja gdzies indzziej, bo fopen nie tylko otwiera plik, nie wykonuje tam zawartego php. zrozum to.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
grattz
post
Post #10





Grupa: Zarejestrowani
Postów: 138
Pomógł: 0
Dołączył: 29.10.2006
Skąd: BB

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


Ok . Nie mogłem tego pojąć wiec zrobiłem sobie dane w SQL i zrezygnowałem z tablic.

Ten post edytował grattz 31.05.2008, 20:01:34


--------------------
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 - 07:14