Mazání podle řádku – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Mazání podle řádku – MySQL – Fórum – Programujte.comMazání podle řádku – MySQL – Fórum – Programujte.com

 

pawlik0
Grafoman
13. 7. 2007   #1
-
0
-

Dá se v MySQL vypsat obsah tabulky a za každým řádkem tlačítko nebo odkaz, aby po kliknutí se smazal ten řádek tabulky,za kterým to je. Nevim jestli jste to pochopili, kdyžtak vysvětlím blíže a zkusím srozumiitelněji...

Nahlásit jako SPAM
IP: ...–
Sa Nata A Na. Howgh
survik1
~ Moderátor
0
Posthunter
13. 7. 2007   #2
-
0
-



if ($_GET['akce'] == "odstran")
{
$id = $_GET['id'];

mysql_query("delete from tabulka where id = '$id'");
}

$db = mysql_query("select * from tabulka order by id desc;");

while ($a = mysql_fetch_array($db)
{
echo '<tr><td>'.$a['id'].'</td><td><a href="?akce=odstran&id='.$a['id'].'"></td></tr>';
}


máš to tam. je to jen tak zkrácený, protože jsem lenoch =) Doufám, žes princip pochopil...musel jsem kvůli příkazu zalíst do db =)

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
survik1
~ Moderátor
0
Posthunter
13. 7. 2007   #3
-
0
-

už tam vidím několik chyb, jako je chybějící závorka atp. Ale to už dáš dohromady, ne? Dej si i pozor na tu proměnnou $_GET['id']...raději ji zkontroluj f-cí is_numeric()

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
mylan40
Super člen
13. 7. 2007   #4
-
0
-

Pri vypisovaní tabuľky by som prechádzal riadkami a číslo riadku by som mal napr. v $i a za každým riadkom by som vypísal

echo '<a href="delete.php?riadok='.$i.'">odstrániť</a>';
. No a v tom skripte delete.php by si mal v $_GET['riadok'] číslo riadku, ktorý treba odstrániť. A samozrejme by v tom skripte bolo nejaké overenie, či si admin a tak...

edit: vy ste ale rýchli, ste ma predbehli... :-D

Nahlásit jako SPAM
IP: ...–
pawlik0
Grafoman
14. 7. 2007   #5
-
0
-

Jupí!
Ze začátku jsem se v tom topil, ani jsem to nepochopil-jsem ještě začátečník:) Pak se mi rozsvítilo, upravil jsem to a začalo mi to fungovat. Místo id jsem tam musel dát, aby to reagovalo na datum, protože nečekám, že několik lidí něco udělá ve stejnou vteřinu. No, hodinku jsem tu muset šrotovat, přemejšlet a zkoušet, ale nakonec to stojí za to.

To survik1: Princip jsem docela pochopil, ale než jsem to přelouskal, dalo mi to hodinku, hodinku a půl zabrat...Dík.

Nahlásit jako SPAM
IP: ...–
Sa Nata A Na. Howgh
14. 7. 2007   #6
-
0
-

Proc datum, ty snad nepouzivas ID?

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
14. 7. 2007   #7
-
0
-

pawlik píše:#
# Jupí!#
#Ze začátku jsem se v tom topil, ani jsem to nepochopil-jsem ještě začátečník:) Pak se mi rozsvítilo, upravil jsem to a začalo mi to fungovat. Místo id jsem tam musel dát, aby to reagovalo na datum, protože nečekám, že několik lidí něco udělá ve stejnou vteřinu. No, hodinku jsem tu muset šrotovat, přemejšlet a zkoušet, ale nakonec to stojí za to.#
##
#To survik1: Princip jsem docela pochopil, ale než jsem to přelouskal, dalo mi to hodinku, hodinku a půl zabrat...Dík.

ID je tiez bezpecne. Nestane sa ti, ze budes mat zaznamy s rovnakym ID :)

Nahlásit jako SPAM
IP: ...–
pawlik0
Grafoman
14. 7. 2007   #8
-
0
-

1)S PHP jsem začínám a nenapadlo mě to tam dát.
2)Až ted me napadlo to takhle mazat-myslel sem ze to nebude potreba.
3)Nechtělo se mi to předělávat, ale příště tam radši ID dám.
4)Stejná vteřina taky není normální, zvlášt ne na mý stránce...
5)U mě je to takovy pokus-nic se nestane když se něco smaže:)
Nakonec to funguje dobře, a díky za rady, příště ho tam dám.

Nahlásit jako SPAM
IP: ...–
Sa Nata A Na. Howgh
survik1
~ Moderátor
0
Posthunter
14. 7. 2007   #9
-
0
-

To pawlik:otázkou je, jak chceš vypisovat příspěvky podle toho, dky byly přidány? Asi nějakým složitým scriptem (nevím, zda je na to f-ce). Ale podle id ti na to stačí "order by id desc;". Být tebou, tak promažu celou tabulku a to id tam prostě přidám (paramtetry - value(255), primary_key(id), auto_decerment)

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
pawlik0
Grafoman
16. 7. 2007   #10
-
0
-

To survik1: Moc tomu nerozumim, s databází jsem začal na vysvědčení a ted jsem skoro celou dobu byl pryč. Teprve začínám. Ale zkusím to...
Edit:Už mi to funguje!

Nahlásit jako SPAM
IP: ...–
Sa Nata A Na. Howgh
mylan40
Super člen
16. 7. 2007   #11
-
0
-

To survik1: ID by tam malo byť, ale "ORDER BY time DESC" by nefungovalo? (neviem, len sa pýtam).... a tie parametry toho ID: nemalo by tam byť increment (ID sa ma stále zvyšovať, nie?)

Nahlásit jako SPAM
IP: ...–
pawlik0
Grafoman
16. 7. 2007   #12
-
0
-

Taky si myslim,proto jsem tam auto_increment dal, a funguje to...ale aspon ze jsem pochopil nejak co mam delat...Order by time? To nevim jestli by šlo...

Nahlásit jako SPAM
IP: ...–
Sa Nata A Na. Howgh
mylan40
Super člen
16. 7. 2007   #13
-
0
-

pawlik píše:#
# Order by time? To nevim jestli by šlo...


No ako myslim, ze by si mal v tabulke stlpec s nazvom `time` typu DATETIME. A "ORDER BY time DESC" by usporiadalo prispevky od najnovsieho po najstarsi... Neslo by to tak?

Nahlásit jako SPAM
IP: ...–
survik1
~ Moderátor
0
Posthunter
16. 7. 2007   #14
-
0
-

To mylan4: šlo by to. ve fromátu rrrrmmddhhm(in)m(in)ss...ale myslím, že i tu by se mohli vyskytnout chyby...není dobrý spoléhat na čas. Už jen přesuny času by z toho udělali maglajz. Spolehlivější je id. Navíc, pokud bys neměl další řádek date, tak bys to musel rozložit do pole a pak to zase složit...

To mylan4: Já nevím, jestli decerment nebo incerment, píšu z hlavy ;) Každopádně já tam mám jen jednu možnost, tak to nějak neřeším.

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
mylan40
Super člen
16. 7. 2007   #15
-
0
-

To survik1: Čo sa týka toho dátumu, ok, ja sa v MySQL až tak nevyznám..., ja tiež súhlasím s tým, že ID je spoľahlivejšie.
(increment = zvýšenie, decrement = zníženie)

Nahlásit jako SPAM
IP: ...–
survik1
~ Moderátor
0
Posthunter
16. 7. 2007   #16
-
0
-

To mylan4: no aby si tu mohl vypisovat, musíš postupovat od zadu.

tj porovnání let

2007
2008

máme parametr desc; vypíše to to vyšší jako první

02 (únor)
03 - první
a tak dále

zpětně to vzít už nemůžeš...

minuty:
10
25 - mělo by jít první

ale celé to může vypadat třebas takhle
2008 12 12 23 10
1000 10 10 10 25

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
survik1
~ Moderátor
0
Posthunter
16. 7. 2007   #17
-
0
-

jinak, teď jsem se díval do DB a je tam vážně incerment, tak se omlouvám

Nahlásit jako SPAM
IP: ...–
Život je jen hra, která se nedá vyhrát.
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, 5 hostů

 

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