Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak zrobić usuwanie kilku komentarzy z bazy jednocześnie?
lamcpp
post
Post #1





Grupa: Zarejestrowani
Postów: 372
Pomógł: 2
Dołączył: 10.05.2009

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


System komentarzy na mojej stronie działa w ten sposob ze komentarz najpierw przesyłany jest do mnie do weryfikacji i ja albo go publikuję albo usuwam. Kod:
  1. <?php
  2. $wynik = mysqli_query($dbc,"SELECT * FROM komentarz WHERE pokaz=0");
  3. while($rezult = mysqli_fetch_array($wynik)){
  4. echo '<input type="checkbox" value="{$rezult[\'id\']}" />&nbsp;&nbsp;';
  5. echo $rezult['id'].'&nbsp;&nbsp;'.$rezult['tresc'].'&nbsp;&nbsp;<a href="index.php?publikuj='.$rezult['id'].'">';
  6. echo 'Publikuj</a>&nbsp;&nbsp;<a href="index.php?usun_komentarz='.$rezult['id'].'">Usuń</a><br />';
  7. }
  8. ?>
Chciałbym go przekształcić abym mógł jednocześnie usuwać np. 10 komentarzy. W tym celu dodałem linikę: echo '<input type="checkbox" value="{$rezult[\'id\']}" />&nbsp;&nbsp;';
tak by można było klikać checkboxy z artykułami, które mają być usunięte. Następnie dodałem formularz z listą rozwijalną, tak by użytkownik wybrał czy chce usunąć czy dodać komentarz do bazy.

  1. <div id="komentarz-wyk-akcje">
  2. <form action="" method="post">
  3. <select name="wyk-masowa-akcje">
  4. <option selected="selected">Wykonaj jedną z akcji:</option>
  5. <option value="dodaj">Dodaj komentarz</option>
  6. <option value="usun">Usuń komentarz</option>
  7. </select>
  8. <input type="submit" value="Zastosuj" name="Zastosuj" />
  9. </form>
  10. </div>


I teraz zastanawiam się jak to zakodować, by "po wybraniu przeze mnie jakiejś liczny np. 4 komentarzy (poprzez zaznaczenie obok nich "ptaszka" w checkboxie) by dokładnie te komentarze zostały usunięte z bazy.
Stanęło na tym, że nie wiem jak zakodować takiego IFa,
czyli: JEŚLI zaznaczyłeś komentarze i wybrałeś z listy rozwijalnej "usun" to USUŃ dokładnie te zaznaczone komentarze.
Prośba o pomoc w tej zagwozdce

Ten post edytował lamcpp 22.10.2012, 21:17:03
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Checkboxy oprócz value muszą mieć jeszcze name. Ale to strzał w dziesiątkę by value zwracało id komentarza.

  1. echo '<input type="checkbox" name="jakas_nazwa[]" value="{$rezult['id']}" />';


Co robisz dalej? Wczytujesz w pętli wartości id, które zostały przesłane z formularza oraz w zależności od wyboru generujesz zapytanie:

  1.  
  2. foreach ($_POST['jakas_nazwa'] as $value) {
  3. if ($_POST['wyk_masowa_akcje'] == 'usun') $query = 'costam'; else if ($_POST['wyk_masowa_akcje'] == 'dodaj') $query = 'costam1';
  4. $query .= "WHERE id='";
  5. $query .= $value . "'";
  6. // wykonaj zapytanie
  7. }


To tak schematycznie i w uproszczeniu. Każdy obrót pętli to nowe zapytanie. A możesz też wygenerować jedno długie zapytanie, np z IN i wykonać je już po pętli.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 4.10.2025 - 19:25