• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP - Jak usunąć przyciskiem pojedyńczy wpis/komentarz?

Object Storage Arubacloud
+1 głos
268 wizyt
pytanie zadane 12 marca 2021 w PHP przez Mundek Początkujący (330 p.)

Witam zainteresowanych pomocą drugiemu człowiekowi ;)

Tworzę stronę na której każdy może się zalogować i dodać jakiś wpis.

Każdy użytkownik oraz wpis posiadają swój unikatowy ID, osobna tabela wpisów/użytkowników.

Każdy dodany wpis po dodaniu zawiera w bazie ID jego twórcy.

Wpisy są wyświetlane(pobierane) z MySQL za pomocą pętli while na stronie głównej w PHP. Razem ze stworzonym dynamicznie przyciskiem Usunięcia go.

Koniec końców mam kilka wpisów a pod każdym przycisk "usuń". Pod nim jest wpięta funkcja która ma go usunąć...

Mój problem polega na niewiedzy jak sprawić by program wiedział który przycisk ma usunąć wpis nad nim.

Próbowałem wysłać sobie na inną stronę Id każdego postu podczas ściągania go pętlą while z bazy ale za każdym razem wysyła tylko id tego ostatniego . Mogę np usunąć wszystkie wpisy tego samego użytkownika ale jak sprawić by użytkownik mógł sam usunąć konkretny wpis?

W skrócie: jak wyłuskać ID każdego wiersza/wpisu/komentarza z bazy danych  jeśli pojawiają się one na stronie za pomocą pętli WHILE?

Mam nadzieję, że przedstawiłem sprawę dość łopatologicznie a problem jest trywialny :P

function getComments($mysqli)
{
	$sql2="SELECT * FROM articles,uzytkownicy WHERE articles.art_userid=uzytkownicy.db_id ORDER BY art_id DESC";
	$rezultat2=$mysqli->query($sql2);
	while ( $wiersz2 = $rezultat2->fetch_assoc() )
	{	
		echo '<div class="wpis col-sm-8 col-md-8 bg-primary rounded p-3 mt-1 mb-2">';
			echo $wiersz2['art_id'].'<br>';
			echo $wiersz2['art_title'].'<br>'; // uid
			echo 'Dodano: '.$wiersz2['art_date'].'<br>';
			echo 'Przez uzytkownika: '. $wiersz2['db_login'].'<br>';
			echo '<img src="' . $wiersz2['art_img'] . '" alt="">';
			echo $wiersz2['art_content'];
			// DELETE BUTTON - 
			echo "<form class='btn btn-outline-info btn-light btn-sm ms-1' method='POST' action='myposts2.php'>
				  <input type='hidden' name='d_art_id' value='".$wiersz2['art_id']."'>
				  <input type='hidden' name='d_art_userid' value='".$wiersz2['art_userid']."'>
				  <button>Delete</button>";	
		echo '</div>';	
      }
}

 

 

 

 

 

 

2 odpowiedzi

0 głosów
odpowiedź 12 marca 2021 przez SzkolnyAdmin Szeryf (86,360 p.)
edycja 12 marca 2021 przez SzkolnyAdmin
1.Dla każdego przycisku tworzysz formularz i wysyłasz go z identyfikatorem artykułu (obsługa może być na tej samej stronie).

albo

2. Do przycisku przypisujesz akcję uruchamiającą skrypt z AJAX-em. Skrypt wysyła żądanie usunięcia artykułu z określonym id. Jeszcze odświeżenie drzewa DOM i gotowe.
0 głosów
odpowiedź 13 marca 2021 przez VBService Ekspert (253,340 p.)
edycja 13 marca 2021 przez VBService

Przy generowaniu kodu formularza dla przycisku Delete masz niedomknięty <form> brakuje </form>  smiley

echo "<form class='btn btn-outline-info btn-light btn-sm ms-1' method='POST' action='myposts2.php'>
           <input type='hidden' name='d_art_id' value='".$wiersz2['art_id']."'>
           <input type='hidden' name='d_art_userid' value='".$wiersz2['art_userid']."'>
           <button>Delete</button>"; 
           Tu masz niedomknięty formularz brakuje </form>
echo '</div>'; 

Spróbuj uruchomić dwa poniższe skrypty

myposts2.php  - bez </form>

<?php

 if ($_SERVER["REQUEST_METHOD"] == "POST") {
   var_dump($_REQUEST);
 }

?>
<form class='btn btn-outline-info btn-light btn-sm ms-1' method='POST' action='myposts2.php'>
                  <input type='hidden' name='d_art_id' value='1'>
                  <input type='hidden' name='d_art_userid' value='1'>
                  <button>Delete</button>
<!-- brakuje </form> -->


<form class='btn btn-outline-info btn-light btn-sm ms-1' method='POST' action='myposts2.php'>
                  <input type='hidden' name='d_art_id' value='1'>
                  <input type='hidden' name='d_art_userid' value='2'>
                  <button>Delete</button>
<!-- brakuje </form> -->

myposts2.php  - z </form>

<?php

 if ($_SERVER["REQUEST_METHOD"] == "POST") {
   var_dump($_REQUEST);
 }

?>
<form class='btn btn-outline-info btn-light btn-sm ms-1' method='POST' action='myposts2.php'>
                  <input type='hidden' name='d_art_id' value='1'>
                  <input type='hidden' name='d_art_userid' value='1'>
                  <button>Delete</button>
</form>


<form class='btn btn-outline-info btn-light btn-sm ms-1' method='POST' action='myposts2.php'>
                  <input type='hidden' name='d_art_id' value='1'>
                  <input type='hidden' name='d_art_userid' value='2'>
                  <button>Delete</button>
</form>

Podobne pytania

0 głosów
1 odpowiedź 390 wizyt
pytanie zadane 14 kwietnia 2020 w PHP przez Rcube Nowicjusz (120 p.)
0 głosów
1 odpowiedź 104 wizyt
pytanie zadane 17 października 2018 w PHP przez Lysy Nowicjusz (160 p.)
0 głosów
1 odpowiedź 200 wizyt
pytanie zadane 23 lipca 2016 w PHP przez DawidxD Użytkownik (810 p.)

92,575 zapytań

141,424 odpowiedzi

319,649 komentarzy

61,960 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...