Autor | Zpráva | ||
---|---|---|---|
gardener Profil |
#1 · Zasláno: 10. 1. 2009, 19:28:55
Zdravím
Mám jeden problém, skriptem vygnerovaná tabulka se záznamy z DB a ke každému řádku je přiřazen i checkbox. Potřeboval bych radu, jak vyřešit mazání jenom vybraných záznamů. Zatím mě napadly 2 varianty ale nevím, která by byla vhodnější. 1)Buď umístit metodu pro odstranění vybraných záznamů do skriptu pro výpis a třeba pomocí logické proměnné ověřovat, zda nebyl odeslán požadavek na smazání 2)Nebo do samostatného skriptu. Problém je ještě v tom, že nevím, jak přesně docílit toho abych zjistil která ple byla zatržená...asi bych použil metodu GET[] ale to bych to zase vše musel mít jako jeden form, nebo se pletu? Díky za každou radu. |
||
Mastodont Profil |
#2 · Zasláno: 10. 1. 2009, 19:39:05
Všem checkboxům je třeba přiřadit stejný name, value rozlišit třeba dle ID záznamu. V odeslaném formuláři pak budeš mít pole obsahující jen zaškrtnuté check boxy.
A rozhodně posílat přes POST, ne GET. |
||
gardener Profil |
#3 · Zasláno: 10. 1. 2009, 19:44:05
Díky , takže by bylo lepší použít metodu přímo v tom skriptu?A jak to vyřeším, pokud se nejdná o formulář?
Prostě bych si dal odkaz s názvem Smaž vybrané na skript smazat_vybrane.php, ale tam přeci musím projet znovu celý ten výpis, abych zjistil, co vrací checked... |
||
Mastodont Profil |
#4 · Zasláno: 10. 1. 2009, 20:22:37
Tyhle věcí se ale dělají jako formulář, máš nějaký důvod, proč bys to chtěl dělat jinak? Právě formulář ti zajistí, že se odešle všechno, co je třeba vědět pro vlastní smazání .. skript smazat_vybrane.php bude prostě zadán jako action formuláře.
|
||
gardener Profil |
#5 · Zasláno: 10. 1. 2009, 20:26:17
Tp souhlasím ale jak to konstrukčně udělat, moje situace, po loginu jsem hned přesměrován na paginu, kde se automaticky provede výpis z DB do tabulky, třeba dole pod tím, kdybych udělal ten form, tak v něm ale už neověřím, zda jsou zaškrntuté ty pole, jelikož by to nebyla součást toho formu ale kus HTML před formem.
|
||
tiso Profil |
#6 · Zasláno: 10. 1. 2009, 20:32:05
gardener - tá tabuľka s výpisom môže byť súčasť formulára:
<form ...> <table> ... <tr><td><input type="checkbox"...>... ... </table> <input type="submit"...> </form> |
||
xxyy Profil * |
#7 · Zasláno: 10. 1. 2009, 20:37:55
cyklem pomocí foreeach..
|
||
xxyy Profil * |
#8 · Zasláno: 10. 1. 2009, 20:38:14
[#7]
foreach.. |
||
Joker Profil |
#9 · Zasláno: 10. 1. 2009, 20:51:10
gardener
Problém je ještě v tom, že nevím, jak přesně docílit toho abych zjistil která ple byla zatržená Dal bych to jako jeden velký formulář a políčka (minimálně ty checkboxy) pojmenoval polem. Tj. pro každý záznam z databáze: echo('<input type="checkbox" name="pole['.$id.']">'); Tim vzniknou checkboxy se jmény řeba pole[1], pole[2], pole[5],... Při odeslání formuláře se odesílají checkboxy jen ty, které jsou zaškrtnuté. Takže ve výsledku pak v $_POST["pole"] dostanete pole, jehož klíče jsou IDčka, která se mají smazat (a hodnota je řetězec "on", to se posílá u zaškrtnutého checkboxu). |
||
gardener Profil |
#10 · Zasláno: 10. 1. 2009, 21:00:32
TOsouhlasím, ale jak to konstrukčně udělat, moje situace, po loginu jsem hned přesměrován na paginu, kde se automaticky provede výpis z DB do tabulky, třeba dole pod tím, kdybych udělal ten form, tak v něm ale už neověřím, zda jsou zaškrntuté ty pole, jelikož by to nebyla součást toho formu ale kus HTML před formem.
|
||
gardener Profil |
#11 · Zasláno: 10. 1. 2009, 21:02:37
Joker--->Díky, to je ono, nyní to snad již zkompletuji..
|
||
Časová prodleva: 15 let
|
0