Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql] PW jak zrobic usuwanie wybranej wiadomości
jacus24
post
Post #1





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Zrobiłem taki kod który wyświetla listę wiadomości. Chciałbym dorobić do niego pole checkbox obok każdej wiadomości i żeby po zaznaczeniu wybranej wiadomości można było ją usunąć. Jak najprościej to zrobić?
  1. <?php
  2. $zapytanie = "SELECT * FROM wiadomosci ORDER BY data_nadania DESC";
  3.  
  4. if ($r = mysql_query ($zapytanie))
  5. {
  6. while ($wiersz = mysql_fetch_array ($r))
  7. {
  8. if($_SESSION['user_logged'] == $wiersz['odbiorca'] ) {
  9. echo "Nadawca<a href='uzytkownik.php?nadawca={$wiersz['nadawca']}'>{$wiersz['nadawca']}</a>
  10. Tytuł<a href='czytaj_wiadomosc.php?tytul={$wiersz['tytul']}'>{$wiersz['tytul']}</a>
  11. Data{$wiersz['data_nadania']}";
  12. ?>
Go to the top of the page
+Quote Post
Kicok
post
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Po pierwsze poczytaj w jakimś kursie SQL o WHERE. Bo za jakiś czas będziesz pobierał z bazy danych dwadzieścia tysięcy wiadomości po to, żeby wyświetlić dwie...


Po drugie dodaj do każdej wiadomości pole checkbox:
  1. <input type="checkbox" name="usun[]" value="<?php echo $wiersz['id_wiadomosci']; ?>" />


Po wysłaniu formularza traktujesz tablicę $_POST['usun'] funkcją implode" title="Zobacz w manualu PHP" target="_manual i wstawiasz to co wyszło do zapytania w taki sposób, aby otrzymać coś w rodzaju:
  1. DELETE FROM wiadomosci WHERE ( id_wiadomosci IN ( 1, 3, 4, 5, 23, 414 ) ) AND ( id_nadawcy = $_SESSION['user_id'] )


Przydałoby się też dorobić do tego jakąś walidację. Przynajmniej sprawdzanie czy zaznaczono jakiekolwiek pole checkbox (count" title="Zobacz w manualu PHP" target="_manual). Ewentualnie rzutowanie wszystkich elementów tablicy na typ int (array_map" title="Zobacz w manualu PHP" target="_manual, array_walk" title="Zobacz w manualu PHP" target="_manual lub zwykła pętla for) o ile dasz sobie radę.
Go to the top of the page
+Quote Post
jacus24
post
Post #3





Grupa: Zarejestrowani
Postów: 133
Pomógł: 0
Dołączył: 15.12.2007

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


Dzięki za dobre rady. Powienieniem sobie poradzić nie wiedziałem tylko jak się zabrać za to. Dzięki wielkie za odpowiedz.
Go to the top of the page
+Quote Post

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: 14.09.2025 - 18:40