Autor | Zpráva | ||
---|---|---|---|
Akacko Profil |
#1 · Zasláno: 4. 1. 2008, 19:24:45
Jde o editaci menu:
Cyklem vypisuji položky z databáze. Názvy inputů jsou jako pole např. nazev[] a inputem input type="checkbox" name="akce[]" chci označovat a mazat/upravovat data. Mazání jde v klidu. Editace však blbne. Kod editace: if ( $_POST['sbm_edit'] ) { foreach ($_POST['action'] as $key => $id) { $url = htmlspecialchars(friendlyUrl($_POST['txt_link'][$key]));//pekne url $db->execute(" UPDATE menu SET link = '".htmlspecialchars($_POST['txt_link'][$key])."', url = '".$url."', title = '".htmlspecialchars($_POST['txt_title'][$key])."' WHERE id = '".$id."' "); } } když přepíšu kód do "debuggeru" (místo posíláni do db si to vypíšu na obrazovku) echo " UPDATE menu SET link = '".htmlspecialchars($_POST['txt_link'][$key])."', url = '".$url."', title = '".htmlspecialchars($_POST['txt_title'][$key])."' WHERE id = '".$id."' ... key = '".$key."' "; a zaškrtnu první poličko a zmáčknu editovat, vše bude OK: UPDATE menu SET link = 'První položka', url = 'prvni-polozka', title = 'Toto bude asi první položka' WHERE id = '7' ... key = '0' Zaškrtnu li obě plička, opět vše funguje OK UPDATE menu SET link = 'První položka', url = 'prvni-polozka', title = 'Toto bude asi první položka' WHERE id = '7' ... key = '0' UPDATE menu SET link = 'Druhá položka', url = 'druha-polozka', title = 'Toto bude asi druha položka' WHERE id = '12' ... key = '1' Zaškrtnu li druhe poličko, nastane nepřijatelná chyba UPDATE menu SET link = 'První položka', url = 'prvni-polozka', title = 'Toto bude asi první položka' WHERE id = '12' ... key = '0' ID zůstane 2he položky, ale data se odešlou první položky => dojde k duplikaci. A to by se nemělo stát. Přece když mi to vypíše správné ID, mělo by to vypsat i správné data ne? Omlouvám se za příliš dlouhý kód, ale stručněji jsem to vysvětlit nedokázal. Dík za každou radu. |
||
tiso Profil |
#2 · Zasláno: 4. 1. 2008, 21:10:02
Toto je správne chovanie, odošle sa iba checkbox ktoré si zaškrtol... Riešením je dať do checkboxu natvrdo index - akce[0], akce[1], ...
|
||
Akacko Profil |
#3 · Zasláno: 4. 1. 2008, 22:01:36
tiso
Aha, tak proto. Dík. |
||
Časová prodleva: 16 let
|
0