Mazání z databáze – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Mazání z databáze – PHP – Fórum – Programujte.comMazání z databáze – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Jiří0
Stálý člen
30. 5. 2007   #1
-
0
-

Zdravím,
řeším zrovna maličký problém s mazázáním z db.
Mám v eshopu nějakou kategorii v ní subkategorii v ní zase položky a ke každé položce obrázky.
(takový strom dalo by se říct)
a teď když chci odstranit celou kategorii, tak bych chtěl smazat vše co v ní je... tudíš všechny subkategorie,
položky a obrázky...

Rád bych to udělal nějak elegantně, jedním dotazem - s podmínkou podobně jako funguje u selectu

DELETE FROM 	

`img`,`seznam`,`submenu`,`polozka`
WHERE
`seznam`.`id`='".$cislo."' AND
`submenu`.`seznam`=`seznam`.`id` AND
`polozka`.`submenu`=`submenu`.`id` AND
`img`.`polozka`=`polozka`.`id`

Jenže to nefunguje...
Nevíte někdo jak "elegantně" tu db promazat?

Nahlásit jako SPAM
IP: ...–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Reklama
Reklama
Dominik0
Super člen
30. 5. 2007   #2
-
0
-

To ench: A co to dělá , nebo co to případně hlásí za chybu !

Nahlásit jako SPAM
IP: ...–
Jiří0
Stálý člen
30. 5. 2007   #3
-
0
-

Když jsem ten dotaz dal do phpmyadmina tak mi to vyhodilo toto:

MySQL hlásí: Dokumentace
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE
`seznam`.`id`='4' AND
`submenu`.`seznam' at line 3

Myslíš že by ten dotaz měl fungovat, jako že poskládat ho podobně není blbost? A že mám v něm jenom chybu?

Nahlásit jako SPAM
IP: ...–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Dominik0
Super člen
30. 5. 2007   #4
-
0
-

To ench: a co zkusit to bez tech uvozovek ??

Nahlásit jako SPAM
IP: ...–
Jiří0
Stálý člen
30. 5. 2007   #5
-
0
-

To don_Dominique:
ty uvozovky by neměly být problém... ostatní dotazy mi s nimi běží normálně a nezlobí...
A jinak já si ty dotazy raději beru z phpmyadmina abych v nich neměl zbytečné chyby.. mno a v něm ty uvozovky jsou...

Popřípadě, jde nějakým dotazem zjistit id smazaných řádků?
Nebo si ty id budu muset zjistit pomocí SELECT a potom mazat?

Nahlásit jako SPAM
IP: ...–
I programování je pudová záležitost. Buď to pude, nebo to nepude
Dominik0
Super člen
30. 5. 2007   #6
-
0
-

To ench: Ohledně těch závorek , já nevim vono to bude asi jedno jenom mne to napadlo .
a to id : podívej se do php manualu na mysql funkce .

Nahlásit jako SPAM
IP: ...–
Dominik0
Super člen
30. 5. 2007   #7
-
0
-

To ench: jo a tohle:

`seznam`.`id`='".$cislo."'

bych nahradil
`seznam`.`id`='$cislo'

to mi vždycky fungovalo !
jinak co to WHERE dat do zavorky WHERE (...... AND ....)

Nahlásit jako SPAM
IP: ...–
30. 5. 2007   #8
-
0
-

Nejsem si jisty, jestli to jde takhle retezit. A k tomu 2. dotazu - myslim ze ne, pri ISERTovani to jde pomoci mysql_insert_id(), pro delete ale nic takoveho neexistuje.

Btw, neni v tomhle pripade jedno, jestli pouzijes 1 nebo 4 dotazy? Nemazes snad deset kategorii za vterinu... Avubec, kdyz se snazis udrzet integritu dat, nemas lepsi jenom nastavit kategorii tech polozek treba na 0? Proste to rovnou nemazat...

Nahlásit jako SPAM
IP: ...–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
Smokie0
Expert
30. 5. 2007   #9
-
0
-

CommanderZ píše:#
# Nejsem si jisty, jestli to jde takhle retezit. A k tomu 2. dotazu - myslim ze ne, pri ISERTovani to jde pomoci mysql_insert_id(), pro delete ale nic takoveho neexistuje.#
##
#Btw, neni v tomhle pripade jedno, jestli pouzijes 1 nebo 4 dotazy? Nemazes snad deset kategorii za vterinu... Avubec, kdyz se snazis udrzet integritu dat, nemas lepsi jenom nastavit kategorii tech polozek treba na 0? Proste to rovnou nemazat...

Vidis, toto nie je zly napad.
Mozes to urobit tak, ze najprv vsetkym prvkom v kategorii pridelis kategoriu 0
UPDATE tovar SET kategoria = 0 WHERE kategoria = 'nejakakategoria'
a potom len proste vymazes vsetko co ma kategoriu 0.
DELETE FROM tovar WHERE kategoria = 0

Nahlásit jako SPAM
IP: ...–
Jan Škrášek
~ Redaktor
+1
Boss
30. 5. 2007   #10
-
0
-

nastuduj si trigery. ty by ti mohli pomoci - viz interval.cz

Nahlásit jako SPAM
IP: ...–
http://jan.skrasek.com@hrachcz – webdeveloper
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 42 hostů

Podobná vlákna

Mazání v souboru — založil Filip0913

Mazání složek — založil

C# - mazani slozek — založil ada.acs

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý