Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] usuniecie danych z bazy z potwierdzeniem
roghatt
post
Post #1





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


Witam
Skrypt umozliwia edytowanie danych o produkcie gdzie mozna zmienic poszczegolne pola. Na dole jest przycisk "zmien". A jak dodac do tego przycisk "usun produkt" ale po nacisnieciu aby wyskoczylo dodatkowe okienko "czy na pewno chcesz usunac produkt?".

zapytanie do bazy ma sie wykonac takie:
  1. DELETE FROM produkty WHERE id=$id;

jak to w ogole doczepic pod przycisk "usun produkt" ?
Go to the top of the page
+Quote Post
franki01
post
Post #2





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


  1. <a href="" onclick="return confirm('Czy na pewno chcesz usunąć ten produkt?')">Usuń</a>

?
Go to the top of the page
+Quote Post
roghatt
post
Post #3





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


a jak do przycisku usun dodac to zapytanie do bazy
  1. DELETE FROM produkty WHERE id=$id;


?
Wczesniej nie zajmowalem sie usuwaniem danych z bazy wiec moze i proste pytanie ale czy mozna przypisac do nawet linka (<a href...) to zapytanie aby po kliknieciu je wykonac i przy okazji aby potwierdzic?
Go to the top of the page
+Quote Post
kfc4
post
Post #4





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


w href dajesz plik.php?usun=jakies tam id. W kodzie
  1. if (isset($_GET[usun']) {
  2. // Usuń rekord o ID $_GET['usun']
  3. }
Go to the top of the page
+Quote Post
roghatt
post
Post #5





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


teraz jak edytuje produkt to mam adres
index.php?top=6&prod=1
gdzie to ID po prod= to ID produktu w bazie.

czyli pod href usun dam
index.php?top=6&prod=1&usun=1

ale nie rozumiem tego:
  1.  
  2. if (isset($_GET[usun']) {
  3. // Usuń rekord o ID $_GET['usun']
  4. }

co mam wstawic w miejsce "Usuń rekord..."

w tym miejscu pod jakas zmienna mam podczepic zapytanie do bazy i to zmienna tu wstawic?
nie rozumiem tego do konca
Go to the top of the page
+Quote Post
voodka
post
Post #6





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 6.09.2009

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


Cytat(freelinkz @ 6.09.2009, 21:44:03 ) *
teraz jak edytuje produkt to mam adres
index.php?top=6&prod=1
gdzie to ID po prod= to ID produktu w bazie.

czyli pod href usun dam
index.php?top=6&prod=1&usun=1

ale nie rozumiem tego:
  1.  
  2. if (isset($_GET[usun']) {
  3. // Usuń rekord o ID $_GET['usun']
  4. }

co mam wstawic w miejsce "Usuń rekord..."

w tym miejscu pod jakas zmienna mam podczepic zapytanie do bazy i to zmienna tu wstawic?
nie rozumiem tego do konca


  1. $id = $_GET['id']; //czy jakis inny
  2. $zapytanie = "DELETE FROM _TABELA_ WHERE id='$id'";
  3. $query = mysql_query($zapytanie);

Usuwasz podobnie jak dodajesz, czy edytujesz dane w bazie.
Go to the top of the page
+Quote Post
roghatt
post
Post #7





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


no ok, ale ja tutaj mam edytowanie i jakos nie moge tego polaczyc.

troche mam to inaczej zrobione a usuwanie chcialem zrobic klikajac w link
Dalej tego nie rozumiem do konca

robie:
  1. $id = $_GET['id'];
  2. $zapytanie = "DELETE FROM produkty WHERE id='$id'";

pozniej
  1. if (isset($_GET['usun']) {
  2. $query = mysql_query($zapytanie);
  3. }


a link ktory klikam wyglada tak:
index.php?top=6&prod=2$usun=2

Go to the top of the page
+Quote Post
ADeM
post
Post #8





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Zamiast:
  1. $id = $_GET['id'];

Daj:
  1. $id = $_GET['prod'];
Go to the top of the page
+Quote Post
roghatt
post
Post #9





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


ok to cos robie zle...
Oto jak robie

w pliku gdzie edytuje produkt jestem pod adresem
index.php?top=6&prod=7

link "usun" przekierowuje na adres:
index.php?top=11

pod tym adresem jest plik ktory zawiera:
  1. $id=$_GET['prod'];
  2. $query="DELETE FROM produkty WHERE id = '$id";
  3. mysql_query($query);


ale produkt z bazy o ID=7 nie jest usuwany, nic sie nie dzieje, gdzie robie blad?
Go to the top of the page
+Quote Post
ADeM
post
Post #10





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


-.-' Mówisz jedno, robisz drugie. Podstawy!
Ponoć link, który klikasz wygląda tak: index.php?top=6&prod=2&usun=1
Go to the top of the page
+Quote Post
roghatt
post
Post #11





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


no to usun bylo po to bo ktos mi to zalecil, ale po chwili zauwazylem, ze przeciez cyferka po prod i po usun jest takie samo bo jest pobierane z tego samego zrodla. Wiec po co tutaj to "&usun=" ?
plik ktory posiada kod do usuwania pobiera cyferke ktora znajduje sie po "prod"
  1. $id=$_GET['prod'];

wiec nawet jak link "usun" bedzie kierowal na index.php?top=11&prod=9 to nic nie usuwa

jak pisalem, kod usuwajacy czyli
  1. <?
  2. $id=$_GET['prod'];
  3. $query="DELETE FROM produkty WHERE id = '$id";
  4. mysql_query($query);
  5. ?>

znajduje sie pod adresem index.php?top=11
produkt edytuje pod adresem
index.php?top=6&prod=9
a link usun kieruje na index.php?top=11&prod=9 (wczesniej probowalem index.php?top=11) i nic sie nie dzieje. a cyferka przeciez jest pobierana
  1. $id=$_GET['prod'];
?
Go to the top of the page
+Quote Post
ADeM
post
Post #12





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


  1. <?
  2. if( isset( $_GET['usun'] ) ){
  3. $id=$_GET['prod'];
  4. $query="DELETE FROM produkty WHERE id = '$id";
  5. mysql_query( $query );
  6. }
  7. ?>

Kod do usuwania powinien wyglądać tak. Instrukcja warunkowa i $_GET['usun'] jest potrzebne, żeby Ci czasem nie usunął czegoś po wejściu na adres index.php.
A link do usuwania powinien być w takiej postaci: index.php?top=6&prod=9&usun=1

Ten post edytował ADeM 6.09.2009, 21:59:43
Go to the top of the page
+Quote Post
roghatt
post
Post #13





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


link nie powinien wygladac tak:
index.php?top=6&prod=9&usun=1
tylko tak
index.php?top=11&prod=9&usun=1 ?
bo pod top=11 znajduje sie ten caly kod.
a czy ten parametr po "usun" ma byc generowany jakos czy ma zawsze wynosic 1?

Oba powyzsze nie usuwaja niestety produktu z bazy.
tak jak pisales
kod usuwajacy
  1. <?
  2. if( isset( $_GET['usun'] ) ){
  3. $id=$_GET['prod'];
  4. $query="DELETE FROM produkty WHERE id = '$id";
  5. mysql_query( $query );
  6. }
  7. ?>


znajduje sie pod adresem index.php?top=11
a w edycji produktu mam adres index.php?top=6&prod=9
link usun dla produktu o id=9 to index.php?top=11&prod=9&usun=1

czy nie mozna dopisac jakiegos kawalka kodu ktory wyswietli czy poszczegolne parametry sa dobrze pobierane i czy jakis kawalek kodu sie wykonal?

Ten post edytował freelinkz 6.09.2009, 22:11:42
Go to the top of the page
+Quote Post
ADeM
post
Post #14





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


Bez sensu... ;/
Wartości top, prod były przykładowe.
A kod nie ma się wykonywać po otworzeniu index.php?top=11, tylko index.php?top=11&prod=9&usun=1.
Najlepiej będzie, jeśli podasz cały kod, albo poczytasz to co się znajduje tutaj: http://pl.php.net/manual/pl/reserved.variables.get.php, http://pl.php.net/manual/pl/control-structures.if.php, http://pl.php.net/echo, http://pl.php.net/manual/pl/function.mysql-query.php, http://dev.mysql.com/doc/refman/5.1/en/delete.html. Pod tymi linkami znajdziesz wszystko, czego potrzebujesz.
Go to the top of the page
+Quote Post
roghatt
post
Post #15





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


dla mnie to powinno dzialac
moze tak

plik
edytuj.php
edit

Edytowanie produktow pod top=6
index.php?top=6&prod=nrproduktu

usuwanie produktu po kliknieciu w usun (index.php?top=11&prod=nrproduktu&usun=1)
  1. <?
  2. if( isset( $_GET['usun'] ) ){
  3. $id=$_GET['prod'];
  4. $query="DELETE FROM produkty WHERE id = '$id";
  5. mysql_query( $query );
  6. }
  7. ?>

usuwanie to top=11

plik z usuwaniem znajduje sie w tym samym miejscu co edytuj.php a plik z formularzem w katalogu "forms"

Ten post edytował freelinkz 6.09.2009, 23:29:11
Go to the top of the page
+Quote Post
ADeM
post
Post #16





Grupa: Zarejestrowani
Postów: 455
Pomógł: 69
Dołączył: 23.10.2004
Skąd: Oświęcim

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


A możesz podać plik index.php? -.-'
Go to the top of the page
+Quote Post
roghatt
post
Post #17





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


index ma jedynie
  1.  
  2. <?
  3. include ("parametry.php");
  4. switch ($top) {
  5. case $ADM_TOP_EDYTUJ_PRODUKTY: include("produkty/edytuj.php"); break;
  6. case $ADM_TOP_USUN_PRODUKTY: include("produkty/usun.php"); break;
  7.  
  8. }
  9. ?>

w parametrach przypisane sa do poszczegolnych $ADM_TOP_EDYTUJ_PRODUKTY i $ADM_TOP_USUN_PRODUKTY top=6 i top=11 i dane polaczenia z baza
Go to the top of the page
+Quote Post
thek
post
Post #18





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Napiszę tylko dwie rzeczy... Zapytanie usuwające z bazy i apostrofy. Kto się przyjrzy ten zrozumie.
Go to the top of the page
+Quote Post
roghatt
post
Post #19





Grupa: Zarejestrowani
Postów: 250
Pomógł: 11
Dołączył: 20.03.2006

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


o kurde...
no tak juz mam
  1. #
  2. $query="DELETE FROM produkty WHERE id = '$id'";

i nawet dziala:)
czlowiek szuka gdzie indziej bledu a tu takie cos...
dzieki wielkie za pomoc
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: 23.08.2025 - 00:51