Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kasowanie na raz wiele rekrodow z 3, powiazanych ze soba tabel
stal-sw
post
Post #1





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

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


Witam.
Mam tabelae z produktami, ktroa jest rodzielanoa na 3 tabele:
Kod
- produkty,
- produkty dane
- prodykty_dodatki

Kazde z tych pol ma pole PRODUCT_id

Czy da sie jedneym zapyteniem skasowac dane o produckei z wszytkich 3 tabel (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) CZy trzeba to robic 3 zpaytaniami.
Ponadto dla tabeli 1 zapisana jest w bazie inromacja o nazwie zdjecie produktu wiec przed skasoowaniem trzbea sksaowac zdjecie z serwera.

I w tym temacie jeszcze mam pytanko - jesli powyzsze daloby sie wykonac jedneym zapyteniem to czy wtedy czy mozna by jednym zpayteniem sakscowac wszysktie rekordy - dla ktroych zaznaczylem CHECKBOXA o naziwe $PROD (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Z gory dzieki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
Kinool
post
Post #2





Grupa: Zarejestrowani
Postów: 560
Pomógł: 0
Dołączył: 15.07.2003
Skąd: Kwidzyn

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


mozesz uzyc typu InnoBD dla tabel, stworzyc klucze obce i nadac odpowiednie "zadania" (ON DELETE CASCADE)

Ten post edytował Kinool 22.05.2005, 15:11:27
Go to the top of the page
+Quote Post
stal-sw
post
Post #3





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

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


Witam.
Z tym chyba bedzie problem bo jak sie nie myle to nie wszyskei firmy ktore prowadza hostnig udostepniaja typ INNODB.

A bez tego nie da sie jednym zpaytaniem kasowac rekordow z kilku tabel (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

A czy da sie jednemy zapytenim skasowac zaznaczone checkboxem rekordy (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Tzn zeby to kasowac inaczej niz tak:
  1. <?php
  2.  
  3. for ($i = 0; $i < count($_POST['prod']); $i++)
  4. {
  5. $prod = $_POST['prod'][$i];
  6. mysql_query(&#092;"DELETE from \".KSIEGA.\" WHERE id='$postmsg'\");
  7. }
  8.  
  9.  
  10. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




do kasowania wielu rekordów z zadanym id może osluzyć instrukcja:
  1. .... WHERE id IN (1,2,3,4....)

Zrób se taki ciąg z twoich id i po sprawie
Go to the top of the page
+Quote Post
stal-sw
post
Post #5





Grupa: Zarejestrowani
Postów: 176
Pomógł: 0
Dołączył: 27.06.2002
Skąd: Stalowa Wola

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


Witam.
Mam teraz cos takiego:
  1. <?php
  2.  
  3. $db->query(&#092;"DELETE from produkty WHERE product_id IN(array('$_POST('proddel)'\"); //kasowanie wszytkich produktow
  4.  
  5. $db->query(&#092;"DELETE from produkty_opis WHERE product_id IN(array('$_POST('proddel)'\"); //kasowanie opisow wszytkich zaznaczonych produktow
  6.  
  7. ?>


Tylko mam strassny problem ze skaldnia bo wyrzuca mi PARSE ERRORa.

Ponadto powyzsze zpaytenia maja mi kasowac produkty oraz z drugiej tabeli dane wszytkich produktow.

Tylko jest taka saprawa ze za nim skasuje produkty musze saksaowac z serwera obrazki (ich nazwy przechowywane sa w bazie danych) jak ogoleni powinein wygldac caly ten kod aby to mialo rece i nogi (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

Z gory dzieki 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: 22.08.2025 - 19:42