Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Moderacja zbiorowa
PawelC
post 18.04.2009, 11:42:30
Post #1





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Witam smile.gif
Napisałem sobie skrypt katalogu, i teraz doszedłem do etapu moderacji, na początku miałem tak że jak wpis był zgodny z regulaminem to naciskałem dodaj i tak osobno dla każdego wpisu. I moje pytanie jest takie jak zrobić zbiorową moderacje, że np mam 10 wpisów z czego 8 jest zgodny z regulaminem, a 2 nie i chciałbym za jednym klikniecięm aktywować te 8 zaznaczonych do aktywacji? Wpisy są aktywowane po id.

Zaakceptowane wpisy są aktualizowane pod ID, gdzie checkbox jest zaznaczony na aktywuj.

Ten post edytował ExPlOiT 18.04.2009, 11:46:53
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Spawnm
post 18.04.2009, 11:51:53
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




hmmm ja swego czasu zrobiłem obok wpisu kasuj , a gdy wywaliłem co zbedne/spam klikałem link 'akceptuj wszystkie' smile.gif
czyli kasuj->delete wipis where id=id z kasuj
akceptuj all-> update wpisy activ=1//tak
Go to the top of the page
+Quote Post
PawelC
post 18.04.2009, 11:57:59
Post #3





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


No tak mniej więcej wiem o co chodzi, ale wpuścić to w jakąś pętle?
Go to the top of the page
+Quote Post
Spawnm
post 18.04.2009, 12:03:09
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




nie , w tym co ja proponuję sql nada wszystkim wpisom activ=1 czyli wyświetl smile.gif
dodaj na koniec where activ=0 co pewnie przyśpieszy zapytanie
Go to the top of the page
+Quote Post
PawelC
post 18.04.2009, 12:07:59
Post #5





Grupa: Zarejestrowani
Postów: 1 173
Pomógł: 121
Dołączył: 24.09.2007
Skąd: Toruń

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


Dla przykładu zrobiłem coś takiego:
  1. <?php
  2. $aktywna=$_POST['aktywna'];
  3. $id=$_POST['id'];
  4. switch($aktywna){
  5. case 'Tak':
  6. echo 'Aktywowałeś id: '.$id;
  7. break;
  8. case 'Nie':
  9. echo 'Usunełeś id: '.$id;
  10. break;
  11. default:
  12. ?>

i nie działa, bo pokazuje tylko jedno id zawsze.


# Tak wyglądają wpisy przed moderacją:
http://www.fotosik.pl/pokaz_obrazek/pelny/...3bb09cdb7e.html

Ten post edytował ExPlOiT 18.04.2009, 12:12:25
Go to the top of the page
+Quote Post
Spawnm
post 18.04.2009, 12:11:04
Post #6





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




...?
  1. <?php
  2. if($_GET['kasuj']){//kasuj=id
  3. delete kasuj
  4. }
  5. if($_GET['activall']){
  6. update wpisy set activ=1 where activ=0
  7. }
  8. ?>

zakładam że masz w bazie pole activ gdzie 1=wyświetl smile.gif
Go to the top of the page
+Quote Post
Crozin
post 18.04.2009, 12:12:33
Post #7





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Checkboxy robisz w forime:
  1. <input type="checkbox" name="active[n]" />
Gdzie n to ID konkretnego rekordu. Następnie przy pomocy implode" title="Zobacz w manualu PHP" target="_manual łączysz sobie wszystkie ID w jeden ciąg: 1, 2, 3, 4, 5, 6, 23, 342. Teraz wystarczy już jedno proste zapytanie[sq]UPDATE tbl_name SET active = 1 WHERE id IN(1, 2, 3, 4, 5, ...);[/sql]
Go to the top of the page
+Quote Post
erix
post 18.04.2009, 21:19:57
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie trzeba podawać n w środku, samo value wystarczy.

Po co komplikować? winksmiley.jpg


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:08