Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [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
 
Start new topic
Odpowiedzi (1 - 9)
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
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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 (IMG:http://forum.php.pl/style_emoticons/default/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
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.
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
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:13