Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z usuwaniem elementu z tablicy
Forum PHP.pl > Forum > Przedszkole
neosatan
Witam, pisze obecnie system newsow oparty na plikach, ale ewidentnie mam cos zle w funkcji ktora jest odpowiedzialna za usuwanie danego newsa.
  1. <?php
  2. function delete()
  3.      {
  4.          /*otwarcie pliku*/
  5.          $file = fopen(&#092;"../papugi/page/news/news.txt\", \"r\");
  6.          
  7.          /*wczytanie calego pliku do tablicy*/
  8.          $tab_news;
  9.          
  10.          for($i = 0; !feof($file); $i++)
  11.          {
  12.              $tab_news[$i] = fgets($file);
  13.          }
  14.          
  15.          foreach($tab_news as $v)
  16.          {
  17.              echo $tab_news[$v];
  18.          }
  19.          
  20.          /*wyciecie odpowiedniego postu*/
  21.          $arr; //dodatkowa tablica
  22.          
  23.          for($i = 0; $i < $this->n; $i++)
  24.          {
  25.              if($i > $_GET['delete'] - 1)
  26.              {
  27.                  $arr = $tab_news[$i - 1];
  28.              }
  29.              else
  30.              {
  31.                  $arr = $tab_news[$i];
  32.              }
  33.          }
  34.          
  35.          
  36.          foreach($tab_news as $v)
  37.          {
  38.              echo $tab_news[$v];
  39.          }
  40.          /*zamkniecie pliku*/
  41.          fclose($file);
  42.          unset($file);
  43.          
  44.          /*przepisanie tablicy do pliku*/
  45.          
  46.          $file = fopen(&#092;"../papugi/page/news/news.txt\", \"w\");
  47.          
  48.          $k = count($arr);
  49.          for($i = 0; $i < $k; $i++)
  50.          {
  51.              $tab = explode(&#092;"::\", $arr[$i]);
  52.              $tab[0] = ($i + 1); //zmiana indeksu postu
  53.              $t = array($tab[0], $tab[1], $tab[2], $tab[3], $tab[4], $tab[5]);
  54.              $arr[$i] = implode(&#092;"::\", $t);
  55.              
  56.              if($arr[$i])
  57.              {
  58.                  fputs($file, $arr[$i]);
  59.              }
  60.          }
  61.          
  62.          /*zamkniecie pliku*/
  63.          fclose($file);
  64.          unset($file);
  65.          
  66.          $this->n--; // nalezy zmniejszyc o 1 ilosc przechowywanych newsow
  67.      }
  68. ?>
Mam wrazenie, ze w tej sekcji jest cos zle, ale nie wiem jeszcze co.
  1. <?php
  2. /*wyciecie odpowiedniego postu*/
  3.         $arr; //dodatkowa tablica
  4.         for($i = 0; $i < $this->n; $i++)
  5.         {
  6.             if($i > $_GET['delete'] - 1)
  7.           {
  8.                 $arr = $tab_news[$i - 1];
  9.            }
  10.             else
  11.           {
  12.                 $arr = $tab_news[$i];
  13.           }        
  14.        }
  15. ?>
Jak widziecie bład to napiszcie w czym tkwi problem.
Spawnm
błędem jest że nie dałeś w tagi php aby mi kod podświetlało smile.gif
i zrób coś z kodem nr 2 bo już całkiem nie czytelny
mariusdeath
  1. <?php
  2. $arr = array();
  3.         for($i = 0; $i < $this->n; $i++){
  4.             if($i != $_GET['delete'] ){
  5.                 $arr[] = $tab_news[$i];
  6.            }        
  7.        }
  8. ?>


chyba oto ci chodziło
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.