qrzymis
27.03.2007, 02:15:01
Witam,
Można prosić o jakiś kawałek kodu w PHP, który usuwałby z bazy podkategorie z zadanej kategorii.
Tabela jest typowa:
CREATE TABLE kategorie (
kategoria_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nadrzedna_id INTEGER UNSIGNED NULL,
nazwa_kategorii VARCHAR(50) NOT NULL,
PRIMARY KEY(kategoria_id)
);
starach
27.03.2007, 02:22:48
$sql = "DELETE from kategorie WHERE nadrzedna_id=$id_kategori";
mysql_query($sql);
wcześniej mysql_connect i blah blah blah
Powiedzmy masz kategorię samochody o identyfikatorze 4 i podkategorie które są markami samochodów.
Mają one nadrzedne_id równe identyfikatorowi kategorii samochody. Ustawiasz $id_kategori na kategoria_id
kategorii samochody i usuwasz.
Tak z ciekawości z czego jest ta struktura tabeli ?
qrzymis
27.03.2007, 03:51:43
no dobra, ale to mi usunie tylko do pierwszego zagłębienia, reszta podrzędnych zostanie, co najwyżej nie będzie widoczna.. już to przerbiałem, chodzi mi o kod, który by faktycznie wykasowywał wszystkie podrzędne kategorie i podpodrzedne itd.. ale mimo wszystko dzięki za odpowiedź. Tak myślałem, żeby ewentualnie zrobić jakieś references i dać on delete cascade co by załatwiło sprawę, ale wtedy nie mogę dać przy kategoriach głównych nadrzędnej jako 0 bo wyskoczy błąd, a auto_increment zaczyna przecież liczyć od 1.
ps. tą tabelę akurat sam pisałem, nie brałem jej z żadnego konkretnego projektu.
pozdrawiam.
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.