Usunięcie kilku przedmiotów naraz z kilku tabel

0

Witam, czy jest możliwe wykonanie tego zadania? Mianowicie. Napisałem kod, który po kliknięciu 'zrealizuj' usuwa produkty po zmiennej sesyjnej nick z tabeli 'Koszyk' i usuwa tylko jeden produkt po id z tabeli 'kategoria'. Chciałbym aby usuwał te same produkty z tabeli koszyk i kategoria.

 		
				$stmt=$db->prepare('SELECT * FROM Koszyk');
				$stmt->execute();
				foreach($stmt as $row)
				{
					$miejscowosc = $row['miejscowosc'];
					$produkt = $row['produkt'];
					$cena = $row['Cena'];
					$rodzaj = $row['rodzaj'];
					$stan = $row['stan'];
					$Opis = $row['Opis'];
					$id = $row['id_produktu'];
				}

				$stmt=$db->prepare('INSERT INTO kupione (produkt, miejscowosc, Cena, rodzaj, stan, Opis, nick) 
									VALUES (:produkt,:miejscowosc,:Cena,:rodzaj,:stan, :Opis, :nick)');
				$stmt->bindValue(':produkt',$row['produkt'],PDO::PARAM_STR);
				$stmt->bindValue(':miejscowosc',$row['miejscowosc'],PDO::PARAM_STR);
				$stmt->bindValue(':Cena',$row['Cena'],PDO::PARAM_STR);
				$stmt->bindValue(':rodzaj',$row['rodzaj'],PDO::PARAM_STR);
				$stmt->bindValue(':stan',$row['stan'],PDO::PARAM_STR);
				$stmt->bindValue(':Opis',$row['Opis'],PDO::PARAM_STR);
				$stmt->bindValue(':nick',$_SESSION['nick'],PDO::PARAM_STR);
				$stmt->execute();
				
								
				$stmt = $db->prepare('DELETE FROM Koszyk WHERE nick=:nick ');
				$stmt->bindParam(':nick',$_SESSION['nick'],PDO::PARAM_STR);
				$stmt->execute();
				
				$stmt = $db->prepare('DELETE FROM kategoria WHERE id=:id_produktu');
				$stmt->bindValue(':id_produktu',$id,PDO::PARAM_STR);
				$stmt->execute();

Pytanie 2 : W jaki sposób ograniczyć ilość zapytań do bazy?

0

Będzie ktoś tak dobry ? :)

0

Kod jest aż tak zły że szkoda marnować czasu? czy po prostu weekend i ludzie wybyli? :)

0

Można to byłoby chyba zrobić za pomocą constraint czy funkcji, ewentualnie wieloliniowe zapytanie tab by był tylko jeden execute ale nie wiem czy twój sterownik na to pozwala.

1 użytkowników online, w tym zalogowanych: 0, gości: 1