Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Dodawanie przycisku usuń
Maniek1313
post
Post #1





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Witajcie mam taki problem zrobiłem stronę w której pobierane są dane z bazy danych. I mam pytanie nie wiem jak napisać kod umożliwiający usunięcie danego rekordu z bazy danych.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
muk4
post
Post #2





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


http://pl.wikibooks.org/wiki/PHP/Zarządzan...e_rekord.C3.B3w
Go to the top of the page
+Quote Post
Maniek1313
post
Post #3





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Jak ułożyć zapytanie to ja wiem.
Mi się rozchodzi jak zrobić przycisk o nazwie usuń który pobierze z bazy danych id i usunie.
Go to the top of the page
+Quote Post
muk4
post
Post #4





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


Zrób formularz z ukrytym polem o wartości 'id' i wysyłaj ten formularz do skryptu który odczyta id i usunie rekord.

formularz
  1. <form method="post" action="usunrekord.php">
  2. <input type="hidden" name="id" value="<tutaj id>" />
  3. <input type="submit" value="Usuń" />
  4. </form>


usunrekord.php
  1. $id = (int)$_POST['id'];
  2. # usun rekord o id $id itd.




Ten post edytował muk4 8.07.2011, 18:19:42
Go to the top of the page
+Quote Post
Maniek1313
post
Post #5





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


dzięki nie wpadłem na to (IMG:style_emoticons/default/smile.gif)

Wyskakuje błąd na stronie nie wiem czemu według mnie wszystko jest dobrze.

Oto część kodu.

  1. $usun_rekord = (int)$_POST['usun_rekord'];
  2. $bazadanych
  3. $sql8 = 'DELETE FROM `baza`.`dane` WHERE `dane`.`id` = '.$usun_rekord;
  4. $zapytanie8 = mysql_query($sql8)


Już działa zapomniałem dodać ; przy $bazadanych

Mam kolejny problem wszystko działa dobrze ale usuwa nie ten rekord zawsze usuwa ten który jest w liście na samym końcu.


Plik 1
  1. <form action="usundane.php" method="post">
  2. <input type="text" name="usun_rekord" value="'.$row["id"].'">
  3. <input type="submit" value="Usuń rekord" />
  4. </td></tr>


Plik usundane.php

  1. $usun_rekord = $_POST['usun_rekord'];
  2. $bazadanych;
  3. $sql8 = 'DELETE FROM `baza`.`dane` WHERE `dane`.`id` = '.$usun_rekord;
  4. $zapytanie8 = mysql_query($sql8)
  5. or die("Nie udało się usunąć rekordu z bazy danych");
  6. echo 'Rekord o numerze id: '.$usun_rekord.' został usunięty z bazy danych.';
Go to the top of the page
+Quote Post
drozdii07
post
Post #6





Grupa: Zarejestrowani
Postów: 254
Pomógł: 39
Dołączył: 6.12.2010
Skąd: localhost

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


nie rozumiem po co kombinowac z formularzem..nie lepiej zrobic link: usundane.php?id=[id z bazy]
Go to the top of the page
+Quote Post
muk4
post
Post #7





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


1. Usuń bo niepotrzebne.
  1. $bazadanych;


2. Może jest to wina zmiennej którą przekazujesz do formularza, zanim wyślesz sam formularz. Usuwa inny rekord niż ten który ma id = $usun_rekord ?
Go to the top of the page
+Quote Post
Maniek1313
post
Post #8





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Jak bym umiał to bym zrobił hehe
Może to jest wina że wszystkie rekordy są wypisywane na ekran za pomocą pętli while

Ten post edytował Maniek1313 8.07.2011, 19:08:08
Go to the top of the page
+Quote Post
muk4
post
Post #9





Grupa: Zarejestrowani
Postów: 309
Pomógł: 56
Dołączył: 3.11.2006
Skąd: Gliwice

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


@UP
Jak chcesz linka to zamiast formularza daj:
  1. <a href="usundane.php?id=<tutaj id>" >Usuń</a>


a w pliku usundane.php zamień:
  1. $usun_rekord = $_POST['usun_rekord'];
  2. # na
  3. $usun_rekord = $_GET['usun_rekord'];


Ten post edytował muk4 8.07.2011, 19:13:24
Go to the top of the page
+Quote Post
gorden
post
Post #10





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

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


  1. if(isset($_GET['delete_id'])) {
  2. mysql_query("DELETE FROM tabela WHERE id = '$_GET[delete_id]'");
  3. echo 'Usunięto rekord';
  4. } else echo '<a href="?delete_id='.$id.'">Usuń rekord</a>';


Ten post edytował gorden 8.07.2011, 19:21:29
Go to the top of the page
+Quote Post
drozdii07
post
Post #11





Grupa: Zarejestrowani
Postów: 254
Pomógł: 39
Dołączył: 6.12.2010
Skąd: localhost

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


Zamien na: $_GET['id']
Go to the top of the page
+Quote Post
Maniek1313
post
Post #12





Grupa: Zarejestrowani
Postów: 148
Pomógł: 2
Dołączył: 8.07.2011

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


Już naprawiłem błąd poprostu zapomiałem na końcu formularza dodać </form> hehe
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: 8.10.2025 - 03:29