Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z usuwaniem
Forum PHP.pl > Forum > Przedszkole
monter2313
szczytuje mi ID ogłoszenia a ja z bazy rezerwacje chce usunąć rezerwacje po jego ID jak to zrobić?

  1. <?
  2. if(file_exists("CONFIG/config.php")) require_once("CONFIG/config.php");
  3. connect();
  4.  
  5. $query = "DELETE FROM ".PREFIX."rezerwacja WHERE `ID_rezerwacji` = ".$_GET['id']."";
  6. mysql_query($query) or die (mysql_error());
  7.  
  8.  
  9. echo usunieto;
  10.  
  11. ?>



  1. Struktura tabeli dla `aaaawwwwrezerwacja`
  2. --
  3.  
  4. CREATE TABLE IF NOT EXISTS `aaaawwwwrezerwacja` (
  5. `ID_rezerwacji` int(4) NOT NULL AUTO_INCREMENT,
  6. `Imie_rezerwacji` text collate utf8_polish_ci NOT NULL,
  7. `Nazwisko_rezerwacji` text collate utf8_polish_ci NOT NULL,
  8. `Adres_rezerwacji` text collate utf8_polish_ci NOT NULL,
  9. `Numer_tel_rezerwacji` int(10) NOT NULL,
  10. `Liczba_rezerwacji` int(2) NOT NULL,
  11. `Data_rezerwacji` datetime NOT NULL,
  12. `Id_user_rezerwacji` int(4) NOT NULL,
  13. `Data_konca` datetime NOT NULL,
  14. `Rezerwacja_ile_dni` int(4) NOT NULL,
  15. `Nazwa_oferty` text collate utf8_polish_ci NOT NULL,
  16. `akcept` varchar(3) collate utf8_polish_ci NOT NULL DEFAULT 'NIE',
  17. `Id_oferta_rezerwacj` int(11) NOT NULL,
  18. PRIMARY KEY (`ID_rezerwacji`)
  19. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=6 ;
  20.  
  21. --
  22. -- Zrzut danych tabeli `aaaawwwwrezerwacja`
  23. --
  24.  
  25. INSERT INTO `aaaawwwwrezerwacja` (`ID_rezerwacji`, `Imie_rezerwacji`, `Nazwisko_rezerwacji`, `Adres_rezerwacji`, `Numer_tel_rezerwacji`, `Liczba_rezerwacji`, `Data_rezerwacji`, `Id_user_rezerwacji`, `Data_konca`, `Rezerwacja_ile_dni`, `Nazwa_oferty`, `akcept`, `Id_oferta_rezerwacj`)
Ruch Radzionków
a w czym ci mamy pomuc jak napisales odpowiedz
monter2313
jeszcze raz powoli Getem sczytuje:

`Id_oferta_rezerwacji`

A chce usunąć z bazy rezerwacje po:

`ID_rezerwacji`



Jeszcze jakiś dodatkowy warunek chyba trzeba ale nie wiem jak ciągle błedy mam
Ruch Radzionków
ale chcesz usunac cale zapytanie czy tylko np. pewna kolumne?
monter2313
cały wiersz z tabeli


Ruch Radzionków
czyli to co sie znajduje w ID_rezerwacji questionmark.gif chcesz tylko usunac questionmark.gif
monter2313
tak to jest tabela

np. jakas rezerwacja ma przsypisany numer ID 44 i po nacisnieciu usun chce sie jej pozbyc ze stronki
Ruch Radzionków
wystarczy zobic update
  1. $usun = "UPDATE ".PREFIX."rezerwacja SET ID_rezerwacji='' WHERE Id_oferta_rezerwacji='$_GET[id]'";
  2. $usun = mysql_query("$usun");
monter2313
a mógłbyś pokazać to na moim kodzie dokładnie bo nie wiem nawet jak wkleić
Ruch Radzionków
update to jest edycja jakiejś kolumny bądź kolumn
pomiędzy update a set wpisujemy tabele po set znajduje się co edytuje np. w twoim przykladzie ID_rezerwacji
jezeli chcemy wiecej edycji zrobic w tej samej tabeli robimy cos takiego ID_rezerwacji='', costam='i co tam chcesz wpisac'
i wpisujemy ID_rezerwacji='co tu ma byc jak bedzie pole puste to nic w tej tabeli nie bedzie' WHERE oznacza w twoim wypadku id oferty i wpisujemy po prostu Id_oferta_rezerwacji='$_GET[id]'
wklejasz tak jak jest to napisane w poprzednim poście

za pomoc daj pomógł
monter2313
z chęcią dałbym POMOC ale niestety Twoje rozwiązanie nie działa. Nie chce edytować zadnej kolumny chce usunąc rekord. nie zmieniając nic w tabeli
Ruch Radzionków
bo sie moze nie rozumiemy, nie chodzi ci przypadkiem zeby w tabeli bylo tylko:

  1. --
  2.  
  3. CREATE TABLE IF NOT EXISTS `aaaawwwwrezerwacja` (
  4. `Imie_rezerwacji` text collate utf8_polish_ci NOT NULL,
  5. `Nazwisko_rezerwacji` text collate utf8_polish_ci NOT NULL,
  6. `Adres_rezerwacji` text collate utf8_polish_ci NOT NULL,
  7. `Numer_tel_rezerwacji` int(10) NOT NULL,
  8. `Liczba_rezerwacji` int(2) NOT NULL,
  9. `Data_rezerwacji` datetime NOT NULL,
  10. `Id_user_rezerwacji` int(4) NOT NULL,
  11. `Data_konca` datetime NOT NULL,
  12. `Rezerwacja_ile_dni` int(4) NOT NULL,
  13. `Nazwa_oferty` text collate utf8_polish_ci NOT NULL,
  14. `akcept` varchar(3) collate utf8_polish_ci NOT NULL DEFAULT 'NIE',
  15. `Id_oferta_rezerwacj` int(11) NOT NULL,
  16. PRIMARY KEY (`ID_rezerwacji`)
  17. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_polish_ci AUTO_INCREMENT=6 ;
  18.  
  19. --
  20. -- Zrzut danych tabeli `aaaawwwwrezerwacja`
  21. --
  22.  
  23. INSERT INTO `aaaawwwwrezerwacja` (`Imie_rezerwacji`, `Nazwisko_rezerwacji`, `Adres_rezerwacji`, `Numer_tel_rezerwacji`, `Liczba_rezerwacji`, `Data_rezerwacji`, `Id_user_rezerwacji`, `Data_konca`, `Rezerwacja_ile_dni`, `Nazwa_oferty`, `akcept`, `Id_oferta_rezerwacj`)

monter2313
nie nie chodzi o usuniecie kolumny a wiersza
Orzeszekk
  1. mysql_query("DELETE FROM `aaaawwwwrezerwacja` WHERE `Id_oferta_rezerwacj`=".$GET[id]);


Jeżeli uzytkownik podaje ci ID_Oferta_rezerwacji w get, to musisz wyszukac to pole w tabeli jesli chcesz usunąć caly wiersz.
jesli uzytkownik getem podsyla ci inne pole, to podmien w zapytaniu jego nazwe z Id_oferta_rezerwacj.

Chłopaki, orty walicie niemilosierne, zlitujcie sie oboje...
Nazwa tabeli jest co najmniej idiotyczna, dawaj normalne, znaczące cos nazwy bo sam rzucasz sobie klody pod nogi.
monter2313
Wiem namieszałem porządnie. Zmienię później teraz za dużo by mi zeszło.

Orzeszekk będzie źle. Jeszcze raz powoli

Każde ogłoszenie ma swoje ID

Każda rezerwacja ma swoje ID

W tabeli rezerwacja mam jedno i drugie pole.

Getem sczytuje ID ogłoszenia ale chce usuwać po ID rezerwacji
Orzeszekk
Cytat(monter2313 @ 3.03.2012, 00:42:37 ) *
Wiem namieszałem porządnie. Zmienię później teraz za dużo by mi zeszło.

Orzeszekk będzie źle. Jeszcze raz powoli

Każde ogłoszenie ma swoje ID

Każda rezerwacja ma swoje ID

W tabeli rezerwacja mam jedno i drugie pole.

Getem sczytuje ID ogłoszenia ale chce usuwać po ID rezerwacji


Co chcesz usunąć i z której tabeli?
jesli chcesz usunąć z tabeli rezerwacje wiersz dotyczacy rezerwacji korzystajac z id_ogloszenia zapisanego w tabeli ogloszenia to tak

  1. $idOgloszenia = $_GET['id'];
  2. mysql_query("delete from `rezerwacje` where `id_rezerwacji`=(select `id_rezerwacji` from `ogloszenia` where `id_ogloszenia` = $idOgloszenia)");


wyrazasz sie strasznie nieprecyzyjnym językiem i ciezko odgadnac o co ci chodzi. Wrzucaj wszystko do oddzielnych zmiennych, będziesz mial mniej literowek i czytelniejszy kod.

do konstruowania zapytan sql swietnie sprawdza sie funkcja sprintf, zapoznaj się z nią.
monter2313


mam taką tabele Getem obecnie sczytuje ostatnią kolumnę a chce usuwać po 1 czy to możliwe?
crocodillo
Cytat(monter2313 @ 3.03.2012, 01:39:39 ) *


mam taką tabele Getem obecnie sczytuje ostatnią kolumnę a chce usuwać po 1 czy to możliwe?


Nie, nie jest to możliwe, chyba że Id_oferta_rezerwacji = ID_rezerwacji (lub coś takiego). Dokładniej to można coś takiego zrobić stosując podzapytania, pod warunkiem, że w pierwszej i ostatniej kolumnie są wartości unikalne. Ale takie rozwiązanie nie ma sensu, jest to tylko wydłużanie czasu wykonywania zapytania sql.
d3ut3r
mając Id_oferta_rezerwacji i chcąc usunąć ten wiersz wystarczy Ci zapytanie:

  1. DELETE FROM tabela WHERE Id_oferta_rezerwacji=xx


czyli w php
  1. $sql="DELETE FROM tabela WHERE Id_oferta_rezerwacji=".(int)$_GET['id'];


takie zapytanie usunie z tabeli o nazwie tabela wszystkie wiersze które mają pole Id_oferta_rezerwacji równe temu co znajduje się w zmiennej $_GET['id']
Orzeszekk
Cytat(d3ut3r @ 3.03.2012, 10:51:43 ) *
mając Id_oferta_rezerwacji i chcąc usunąć ten wiersz wystarczy Ci zapytanie:

  1. DELETE FROM tabela WHERE Id_oferta_rezerwacji=xx


czyli w php
  1. $sql="DELETE FROM tabela WHERE Id_oferta_rezerwacji=".(int)$_GET['id'];


takie zapytanie usunie z tabeli o nazwie tabela wszystkie wiersze które mają pole Id_oferta_rezerwacji równe temu co znajduje się w zmiennej $_GET['id']


Juz mu to mowilem ale on nie rozumie haha.gif
d3ut3r
Cytat(Orzeszekk @ 3.03.2012, 12:22:46 ) *
Juz mu to mowilem ale on nie rozumie haha.gif



fakt nie zauważyłem tongue.gif

ale żeby nie robić offtopu, to spróbuj jak najjaśniej opisać co chcesz zrobić wtedy na pewno ktoś Ci poda pomocną dłoń smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.