Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rotator banerów - kasowanie
Forum PHP.pl > Forum > Gotowe rozwiązania
bronx
witam

tak oto wygląda skrupt dodający banery do rotatora (dane pochodzą oczywiście z formularza):

  1. <?php
  2. $base=&#092;"banery.php\";
  3. $data=&#092;"$url*|*$baner*|*$title\";
  4. $data=eregi_replace(&#092;"n\", \"<br>\", $data);
  5. $data=&#092;"$datan\";
  6. $f=fopen($base, a);
  7. flock($f, 2);
  8. fputs($f, $data);
  9. flock($f, 3);
  10. fclose($f);
  11. ?>


no i teraz żeby mi je wyświetliło to powinienem użyć np czegoś takiego:

  1. <?php
  2. $base=&#092;"banery.php\"; 
  3. $table=array_reverse(file($base)); 
  4. $max=count($table); 
  5.  
  6. for ($i=0; $i<$max; $i++) { 
  7. $data=explode (&#092;"*|*\", $table[$i]); 
  8.  
  9. echo &#092;"<img src=\"$data[1]\"><br>$data[2]<br>\"; 
  10.  
  11. }
  12. ?>


no i teraz chciałbym aby przy każdym z banerów było pole checkbox a na samym dole przycisk usun i po nacisnieciu usuwa zaznaczone banery...

za bardzo nie mam pojęcia jak to powinno wyglądać i co najważniejsze jak ma wygladać cały skrypt usuwający... sad.gif

pozdrawiam
Guest
robisz to tak
kazdemuc heckbox'owi, przypisujesz wartosc zaleznie od nr baneru, i formularzem przesylasz do jakiegos pliku np. usun.php. W tym pliku sprawdzasz ktore checkbox'y sa zaznaczone, odczytujesz ich wartosci (nr banerow) i usuwasz te banery ktorych nr sa w zaznaczonych checkbox'ach
invx
sorry za anonima winksmiley.jpg
sf
@bronx: a jest coś co umiesz?

Po pierwsze należy stworzyć input z type="checkbox", nadać każdemu name, najlepiej tak, aby odzwierciedlał pozycje w tablicy. Po naciśnięciu `submit` sprawdzamy, które pola były zaznaczone i na tej podstawie usuwamy z tablicy, do której wcześniej wgraliśmy dane, te pozycje, które zaznaczyliśmy i przesłaliśmy przez formularz. Następnie taką tablice bez tych pozycji, które wycieliśmy zapisujemy do pliku.

EDIT:
Zamiast for, lepiej użyc foreach" title="Zobacz w manualu PHP" target="_manual.
ganimedes
  1. <?
  2. if(isset($_POST['usun']))
  3. {
  4. $plik = file(&#092;"banery.php\");
  5.  
  6. if(isset($_POST['linia']))
  7. {
  8.  foreach($_POST['linia'] as $key => $value)
  9.  {
  10. unset($plik[$value]);
  11.  }
  12. $puts = implode(&#092;"\", $plik);
  13. $file = fopen(&#092;"banery.php\", \"w\");
  14. flock($file, 2);
  15. fputs($file, $puts);
  16. flock($file, 3);
  17. fclose($file); 
  18. }
  19. }
  20. ?>

Teraz zmieniasz plik wyświetlający banery i dodajesz jeszcze jedno pole w formularzu
  1. <?php
  2. $base=&#092;"banery.php\"; 
  3. $table=array_reverse(file($base)); 
  4. $max=count($table); 
  5.  
  6. for ($i=0; $i<$max; $i++) { 
  7. $data=explode (&#092;"*|*\", $table[$i]); 
  8.  
  9. echo &#092;"<img src=\"$data[1]\"><br>$data[2]<br><input type=\"checkbox\" name=\"linia['.$i.']\" value=\"'.$i.'\">\"; 
  10. }
  11. <input type=&#092;"hidden\" name=\"usun\" value=\"usun\">
  12. ?>

NIe testowałem ale powinno działać:P
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-2024 Invision Power Services, Inc.