Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Jak skasować dublujący się wpis w tablicy
Forum PHP.pl > Forum > Przedszkole
grattz
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 ?
grattz
Prubuje w róznych miejscach wstawiać:
  1. <?php
  2. unset($post["$id"]);
  3. ?>

ale nic sie nie dzieje. Żle to skonstruowałem ?
nospor
  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
piotrooo89
jak to mówi mój szef problem między klawiaturą a krzesłem winksmiley.jpg
grattz
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.
nospor
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
grattz
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.
nospor
  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.
grattz
Ok . Nie mogłem tego pojąć wiec zrobiłem sobie dane w SQL i zrezygnowałem z tablic.
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.