Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: usunięcie kilku rekordów na raz
Forum PHP.pl > Forum > PHP
SN@JPER^
Witam,

Od godziny trudzę się z rzeczą, która pozwoli usunąc kilka rekordów na raz.

Mój kod na razie wygląda tak:

  1. <?php
  2. $zaznacz = $_POST['zaznacz'];
  3.  
  4.  for($i = 0; $i>$zaznacz; $i++)
  5.  {
  6.  echo $zaznacz[$i].'<br />';
  7.  }
  8. ?>


rzecz jasna input tego wygląda tak:

  1. <input type="checkbox" name="zaznacz[]" value="<?php echo $this->id;?>" />


jednak ten sposób nic nie wyświetla...

Ale gdy zrobię petlę tak:

  1. <?php
  2. $zaznacz = $_POST['zaznacz'];
  3.  
  4.  for($i = 0; $i<$zaznacz; $i++)
  5.  {
  6.  echo $zaznacz[$i].'<br />';
  7.  }
  8. ?>


strona wgrywa się okolo 5 minut, mimo to widać rezultaty...

Jak zrobić, aby ten kawałek kodu działał jak nalezy ?

Proszę o szerokie sugestie oraz pomoc. Pozdrawiam
nospor
Przeciez $_POST['zaznacz'] zawiera tablicę, nie mozesz wiec robic $i<$zaznacz, bo $i to liczba a $zaznacz to tablica
LonelyKnight
A poza tym to co to jest:

  1. <input type="checkbox" name="zaznacz[]"


...chyba raczej:

  1. [html]<input type="checkbox" name="zaznacz"
nospor
@LonelyKnight jak to mowia: jak sie nie znasz, to sie nie odzywaj... winksmiley.jpg
nazwa[] oznacza, ze pod nazwa bedzie tablica i jest to zapis jak najbardziej poprawny, jesli chcemy przekazywac tablice (kilka pol o takiej samej nazwie)
SN@JPER^
Hmmm namąciłem i ten kodzik mi działa:

  1. <?php
  2. for ( $i = 0; $i < count($zaznacz); $i++ )
  3.  {
  4.  
  5. $zapytanie_usun_zaznacz = "DELETE FROM cms_pw WHERE id = '".$zaznacz[$i]."'";
  6. $query_usun_zaznacz = @mysql_query($zapytanie_usun_zaznacz);
  7.  
  8. if($query_usun_zaznacz)
  9. {
  10. header("Location: http://".$_SERVER['HTTP_HOST']."/cms/index.php?mod=users&co=logowanie&go=pw");
  11. }
  12.  
  13. else
  14. {
  15. $this->wiadomosc("Wystąpił błąd poinformuj admina", 1);
  16. }
  17.  
  18.  }
  19. ?>
nospor
@snajper mozna by to uproscic i zrobic bardziej optymalniej dla bazy:
  1. <?php
  2. $sql = 'DELETE FROM cms_pw WHERE id in ('.implode(',',$_POST['zaznacz']).')';
  3. ?>

Oczywiscie sprawdzac najpierw czy wogole cos jest w tej tablicy
SN@JPER^
działa w dodatku jest bardziej "pro" biggrin.gif

PS: wieczorkiem podrzuce Ci faviconke, w komencie pewnie będzie... na twoim folio
LonelyKnight
Cytat(nospor @ 11.07.2007, 16:45:33 ) *
@LonelyKnight jak to mowia: jak sie nie znasz, to sie nie odzywaj... winksmiley.jpg
nazwa[] oznacza, ze pod nazwa bedzie tablica i jest to zapis jak najbardziej poprawny, jesli chcemy przekazywac tablice (kilka pol o takiej samej nazwie)


smile.gif smile.gif Hmmm dzięki za zwrócenie uwagi smile.gif Dobrze dowiedzieć się czegoś nowego smile.gif
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.