Vložení více řádků do tabulky v databázi z formuláře
Dělám administraci na vkládání a zobrazování živých televizních pořadů, jenž budou titulkovány (skryté titulky - teletext 888). Některé pořady jsou jednorázové, tak je to jasné (např. fotbal Malta<>ČR v říjnu 2013). Některé pořady se však již titulkují pravidelně (třeba Otázky Václava Moravce).
Aby nemusel ten, kdo bude pořady vkládat, odesílat (jasně, jde se vrátit, změnit datum vysílání a odeslat znovu) 4x formulář, líbilo by se mi, kdyby mohl zadat všechna vysílání pořadu v měsíci, jen by měl ve formuláři "další vysílání - datum".
Jak to ale zpracovat, aby se uložily 4 řádky do databáze - to si ještě představit umím. Ale vůbec netuším, jak udělat, aby nevznikaly prázdné řádky, když bude pořad "jednorázový".
Jak se tohle dělá?
Postupně vygeneruješ 4 inserty. Posilat do DB budes jen v pripade, ze radek nebude prazdny.
Aha, chápu. Něco takového
Ale se správnou syntaxí. Jo? Prostě vždy podmínku, jestli je prázdná datum2, datum3, datum4 a když není, udělat insert a původními posty a tím jiným dnem.
Co tam mám blbě?
Opravil jsem domnělé chyby od oka. Jestli kód dál nebude chodit, napiš sem i hlášení.
Dík. Kde byly chyby? Syntaxe co? Uloží se mi však pouze jeden řádek. Mělo by to být tak, že zadá pořad - ty údaje se u opakovaných nemění, pouze přidá datumy, takže ty podmínky by měly být něco jako:
když není prázdná proměnná datum2, vlož další řádek - stejné hodnoty, ale s jiným datem. Když není prázdná damum3...
Každý príkaz, ktorý si pripravíš, musíš aj vykonať. Keď vykonáš len prvý, tak sa do databázy uloží len jeden riadok:
V prípade MySQL môžeš jedným príkazom vložiť viacero riadkov a keď si tie dátumové polia nazveš datum1..datum4, tak to môže vyzerať napríklad takto:
Nemáš tam vôbec ošetrené SQL injection, ale na to si už asi zvyknutý. A písal som to z hlavy, takže tam môžu byť chyby.
Díky, musím odběhnout, pokračovat budu odpoledne, nebo večer. Vyzkouším array a dám vědět.
Díky 269x, už mi to tam leze. Jen se mi ale vloží dva řádky s datumem 0000-00-00, když zůstanou ve formuláři datum3 a datum4 prázdné.
Aha, tam chybí ta podmínka "empty". To první se mi zase po odeslání zobrazuje pouze prázdná stránka.
Jsem myslel, jak to udělám lstivě a po vložení smažu řádky s datum 0000-00-00 a v phpMyAdmin
Aha, *.