Zadejte hledaný výraz...

Mazání záznamů v MySQL pomocí odkazu

Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 15:52:25
Zdravím,
nevím si rady s tím, jak vymazat nějaký záznam z databáze. Dočet jsem se, že se k tomu používá "příkaz" DELETE, ale stále jsem " bezradný " :) . Snad někdo pomůže...
mám příkaz který vypíše určitá data . u těchto dat je ( u každého záznamu- řádku chcete li) nápis odstranit, který odkazuje na php soubor odstranit.php . tzn. když mám 10 záznamů(řádků) dat, zobrazí se mi 10 nápisů odstranit odkazující na ten pro všechny stejný soubor odstranit.php.
V souboru odstranit.php chci docílit toho, že se z databaze odstrani zaznam ( řádek) , u kterého se kliklo na odstranit... Bohužel nevím jak toho docílit. Používám dibi, takže by mi nejvíce pomohlo řešení již v dibi...
Asi jsem to nenapsal příliš srozumitelně, takže přidám příklad z praxe :
Mám 3 záznamy, a to sice A , B, C . u každého vidím políčko odstranit řádek/záznam. kliknu na odstranit záznam u záznamu A a chci, aby se v souboru odstranit.php, na který směřují všechny záznamy, smazal POUZE záznam A, nikoliv všechny záznamy. Tzn. smazal se jen ten, na který kliknu, i přesto že stejný odkaz (na ten stejný soubor) využívají všechny záznamy... Snad je to teď jasné... Díky všem za rady
P.S. : Nejlepší by bylo kdyby se ještě napsalo něco jako záznam byl úspěšně odstranět. Dále by bylo dobré udělat to tak, aby se nikam nepřesměrovávalo, jen se v klidu vykonal script, a pak bych jen viděl o záznam méně. Ne že mě to odkáže na prázdnou stránku, kde je jen php script, který sice dobře zafunguje, ale já budu mít před očima jen bílou stránku... Snad je i toto jasné, sám v tom mám trochu zmatek, tak se omlouvám těm, co nepochopily :)
18. 9. 2011 15:52:25
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678547
hm
verified
rating uzivatele
(20 hodnocení)
18. 9. 2011 16:05:40
odstranit.php?id_k_odstraneni=3
coi se presmerovani tyka, muzes klidne odkazat na script ktery mas ted otevreny jen pridat GET promennou, pak samozrejme pridas kod primo do souboru s nejakou podminkou "kdyz je get vyplnena a obsahuje cislo, spustit smazani"
velice doporucuji pracovat s index.php ktery se postara o cely chod aplikace - pak odkazujes jen a pouze na index.php a ten uz rozhoduje jake dalsi soubory se pouziji a co se zobrazi (pouzivaji vsechny frameworky, CMS atd. ) pak se totiz muze o mazani a nacitani souboru s kodem ke smazani rozhodovat tam, samozrejme vim ze jsi zacatecnik takze tohle na tebe bude mozna slozite, ale tak mozna proto si mel prijit na skoleni kde jsme i tohle tak nejak narychlo proletli ;)
18. 9. 2011 16:05:40
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678546
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 16:32:36
Moc to nechapu... ideální by to bylo kdyby to bylo zapsaný v dibi, to bych se v tom možná zorientoval. To s tou GET promennou taky moc nechapu..konkretne to : " pak samozrejme pridas kod primo do souboru s nejakou podminkou "kdyz je get vyplnena a obsahuje cislo, spustit smazani" " . To s tim indexem chápu, ale mě se to takhle zdá přeheldnější... ve více souborech. V čem je to lepší ?
18. 9. 2011 16:32:36
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678545
Martin
verified
rating uzivatele
(62 hodnocení)
18. 9. 2011 16:39:28
Ještě jen doplním : Pokud tu aplikaci nebudeš používat jen ty, tak je třeba dát nějakou podmínku, zda onen uživatel má právo mazat tento záznam.
18. 9. 2011 16:39:28
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678544
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 16:41:09
toto právo budou mít všichni, jen pořád nevím jak to vlastně mazat...
18. 9. 2011 16:41:09
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678543
Martin
verified
rating uzivatele
(62 hodnocení)
18. 9. 2011 16:55:43
Aleš Ti to napsal. Víc to asi zjednodušit nepůjde. Akorát si to musíš předělat aby to šlo přes dibi. To nepoužívám. Ale někdo se tady snad najde.
18. 9. 2011 16:55:43
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678542
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 17:03:36
Ja to ale moc nechapu... :/
18. 9. 2011 17:03:36
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678541
Martin
verified
rating uzivatele
(62 hodnocení)
18. 9. 2011 17:17:01
První krok
V tom seznamu budes mit odkazy Smazat a budou smerovat na "odstranit.php?id_k_odstraneni=" . $id_zaznamu
To ti je jasny ?
18. 9. 2011 17:17:01
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678540
Zaznamy:
A v odstranit:
)
18. 9. 2011 17:25:46
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678539
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 17:34:39
První krok
V tom seznamu budes mit odkazy Smazat a budou smerovat na "odstranit.php?id_k_odstraneni=" . $id_zaznamu
To ti je jasny ?
Ano
Zaznamy:
Kód:
Záznam A odstranit
A v odstranit:
Kód:
mysql_query('DELETE FROM zaznamy WHERE id='.$_GET')
)
To už je lepší, to snad zvládnu přepsat do dibi, dík. Je to ale opravdu funkční? Když aleš toho psal mnohem víc a psalo se tu, že zkrátit to už víc nejde...
18. 9. 2011 17:34:39
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678538
Je(az na tečky, uvozovky-pisu z iphone) Aleš tam ma ochranu. Tu já sem semka nenapsal. A ma tam odpověd. Jestli se to podařilo odstranit nebo ne.
18. 9. 2011 17:42:02
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678537
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 17:51:49
Ok, a co ma byt misto toho $idzaznamu ?
18. 9. 2011 17:51:49
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678536
id toho, co potrebujes smazat, kazdej zaznam ma svy id a podle toho je rozlisujes
18. 9. 2011 18:17:05
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678535
Jan Matoušek
verified
rating uzivatele
(12 hodnocení)
18. 9. 2011 19:04:35
dibi nepoužívám, ale podle dokumentace by to mělo být:
$id = $_GET;
dibi::delete('tabulka')->where('id = %d', $id)->execute();
a jak to myslel Aleš v jednom dokumentu, tak by to bylo asi nějak takhle:
if(isset($_GET)){
$id = $_GET;
dibi::delete('tabulka')->where('id = %d', $id)->execute();
}
?>
smazat
smazat
smazat
smazat
smazat
18. 9. 2011 19:04:35
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678534
Jakub Hošek
verified
rating uzivatele
(23 hodnocení)
18. 9. 2011 19:43:06
Paradiso:
Nejprve díky za tip. Bohužel, tvůj postup vyhazuje hlášku, která řiká něco jako : " Nedefinovaná proměnná 'id' v C:Program Files (x86)EasyPHP-5.3.8.0wwwslovickaodstranit.php na 12 řádku( tam mám to $id = $_GET; ) "
18. 9. 2011 19:43:06
https://webtrh.cz/diskuse/mazani-zaznamu-v-mysql-pomoci-odkazu#reply678533
Pro odpověď se přihlašte.
Přihlásit