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

Usuwanie danych z MySQL za pomocą PHP - usuwa zawsze najwyższy rekord

Cloud VPS
0 głosów
1,473 wizyt
pytanie zadane 16 listopada 2016 w PHP przez tiesto.ulic Obywatel (1,010 p.)

Witam!
Mam problem z usuwaniem danych z bazy MySQL. Mam skrypt, który wyświetla rekordy z bazy danych w formie tabeli. Znajdują się tam również button'y usuwające rekordy (tematy i odpowiedzi), które znajdują się tuż obok pobieranych danych z MySQL. Obojętnie, którego z nich nacisnę, zawsze usunie najwyższy rekord. Podejrzewam, że problem jest błahy ale od ponad godziny bądź dwóch się z nim męczę.

<table width="100%" border="1" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
	<tbody>
		<tr>
			<td width="65%" align="center" bgcolor="#E6E6E6"><strong>Temat</strong></td>
			<td width="15%" align="center" bgcolor="#E6E6E6"><strong>Autor</strong></td>
			<td width="15%" align="center" bgcolor="#E6E6E6"><strong>Utworzono</strong></td>
			<td width="5%" align="center" bgcolor="#E6E6E6"><strong>Usuń</strong></td>
		</tr>
			<?php
				mysqli_set_charset($con, "utf8");
				$qu = mysqli_query($con, "SELECT * FROM `threads`");
				if (mysqli_num_rows($qu) > 0) 
					{
					while ($row = mysqli_fetch_array($qu)) 
					{
							$content = $row['content'];
							if (strlen($content) > 100) {
							$a = $content;
							$content = '';
							for($i=0;$i<100;$i++) {
							$content .= $a[$i];
														}
						}
					echo '<tr><td><a href="threadPage.php?tid='.$row["id"].'">'.$row["title"].'</td><td>'.$row["author"].'</td><td>'.$row["date"].'</td>';
													
						if(isset($_GET['deleteThread']))
						{
							$threadID=$row['id'];
							$del_thread= mysqli_query($con, "DELETE FROM `threads` WHERE (id='$threadID')");
							$del_replies= mysqli_query($con, "DELETE FROM `replies` WHERE (threadID='$threadID')");
							if($del_thread && $del_replies)
							{
								header("Location: forum.php");
								exit();
							}
							else
								echo "Błąd!";
						}
					echo '<td align="center">
						<form method="GET"><input type="submit" value="X" name="deleteThread"></form>
						</td></tr>';
					}
				}
					else
						{
						echo '<tr><td colspan="4" align="center">
						<b> Brak tematów :( </b> <br>
						Utwórz <a href="newThread.php">nowy temat</a>!
						</td></tr>';
						}
			?>
	</tbody>
</table>

 

komentarz 18 listopada 2016 przez efiku Szeryf (75,160 p.)
Jak skończysz daj znać albo link do strony. wyzeruje Ci całą bazę żebyś się nauczył bindować parametry. Piękny sqlinjection.

3 odpowiedzi

+1 głos
odpowiedź 17 listopada 2016 przez mbabane Szeryf (79,260 p.)
edycja 17 listopada 2016 przez mbabane

wyswietl sobie co znajduje sie pod zmienna $threadId przed wykonaniem zapytania i bedziesz mial wszystko jasne,

a czy w linii 28 nie powinno byc:

$threadId = $_GET['tid'];   ?

skoro w adresie w a href jest:
....?tid='.$row["id"]....

komentarz 17 listopada 2016 przez tiesto.ulic Obywatel (1,010 p.)

Wyrzuciłem usuwanie do zewnętrznego dokumentu, poprawiłem na $_GET['tid'] i zrezygnowałem z buttona, na zwykły link (prawdopodobnie zmienię go na fontello). Dzięki!

0 głosów
odpowiedź 17 listopada 2016 przez Frendom Pasjonat (18,900 p.)
Przy threadID moze uzyj $_GET['id'] zamiast row
komentarz 17 listopada 2016 przez tiesto.ulic Obywatel (1,010 p.)
Po zmianie row na $_GET nie usuwa nawet najwyższego posta.
0 głosów
odpowiedź 18 listopada 2016 przez Mateusz Domurad Początkujący (400 p.)
Usuń nawias w zapytaniu WHERE. Powinno pomóc.

Podobne pytania

0 głosów
3 odpowiedzi 2,584 wizyt
pytanie zadane 25 marca 2016 w PHP przez McShadow Obywatel (1,050 p.)
0 głosów
1 odpowiedź 670 wizyt
+1 głos
2 odpowiedzi 1,242 wizyt
pytanie zadane 15 marca 2021 w JavaScript przez Kubs Mądrala (5,190 p.)

93,456 zapytań

142,451 odpowiedzi

322,721 komentarzy

62,837 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

Kursy INF.02 i INF.03
...