Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> jak to zidentyfikowac?
hmmm
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

Ostrzeżenie: (0%)
-----


robie sobie panel administracyjny - oparty na plikach cookie - i mam pewien problem.

wszystko mam oparte na mysql. mam kilka tabel, m.in. ksiega, w ktorej przechowuje, rzecz naturalna, wpisy.

otoz chce miec tam mozliwosc wyswietlenia wszystkich wpisow, ale bez tresci, czyli id (chociaz nie wiem, czy bedzie potrzebne), nick, czas i teraz obok kazdego wpisu dac pole checkbox (numery bede zwiekszac poprzez $numer++).
po zaznaczeniu jednego badz kilku checkboxow i kliknieciu usun (type="submit") chcialbym, aby wszystkie zaznaczone zostaly usuniete, ale nie wiem, jak mam sprawdzac, ktore zostaly zaznaczone i jak je potem usunac ...

prosze o jakies wskazowki, rady worriedsmiley.gif
Go to the top of the page
+Quote Post
bigZbig
post
Post #2





Grupa: Zarejestrowani
Postów: 740
Pomógł: 15
Dołączył: 23.08.2004
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Generujesz pola input

  1. <?php
  2.  
  3. print '<input type=\"checkbox\" name=\"remove[]\" value=\"'.$id.'\" /> Usuń';
  4.  
  5. ?>


Nastepnie jesli przy danym wpisie zostalo zaznaczone pole checkbox to po kliknieciu przycisku submit w tablicy $remove powinno sie znalesc id tego wpisu.

Nastepnie dla kazdego wpisu sprawdzasz czy jego id jest w tablicy $remove i jesli jest wykonujesz funkcje usunWpis.

  1. <?php
  2.  
  3. function usunWpis($id) {
  4. $query=&#092;"DELETE FROM nazwa_tabeli WHERE id=$id\";
  5. //dalesze instrukcje dazace do wykonania zapytania sql
  6. }
  7.  
  8. if (in_array ($id, $remove)) usunWpis($id);
  9.  
  10. ?>


Ten post edytował bigZbig 5.04.2005, 09:12:49


--------------------
bigZbig (Zbigniew Heintze) | blog.heintze.pl
Go to the top of the page
+Quote Post
kszychu
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


To sotatnie trochę mało optymalne. Po co tyle zapytań ile usuwanych wpisów? Nie może byc jedno zapytanie? Ano może.
  1. <?php
  2. $query = 'DELETE FROM nazwa_tabeli WHERE 1 = 0';
  3. foreach($remowe as $id)
  4.  $query .= &#092;" OR id = '{$id}'\";
  5. ?>


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
scanner
post
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




A może, eliminując tasiemcowe "OR" i zapętlanie, zrobić tak:
  1. <?php
  2. $query = 'DELETE FROM nazwa_tabeli WHERE id IN ('.implode(',', $remowe).');';
  3. ?>


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:05