No tak este stale sa stvem s touto malou potvorou. Mam 2 select boxy ktore vyzeraju asi takto:
Oba su generovane dynamicky za pomoci PHPcka ale pre jednoduchost je to tu staticky.Code:<select multiple name='fromBox[]' id='fromBox'> <option>Zemné práce</option> <option>Geodeticke prace</option> <option>Geotechnické práce</option> <option>Práce špeciálneho zakladania - piloty, injektáž, štetovnice,</option> </select>
Je to cele prepchate javascriptom ale v jednoduchosti, v prvom selecte sa nachadzaju polozky, ktore sa za pomoci JS daju prehodit do druheho selectu. Ak da clovek odoslat(zabudol som ze som sem nepostol aj celu formu ale selecty su len cast s nej a neni to podstatne) tak som si myslel ze by mohol zbehnut tento kod:Code:<select multiple name='toBox[]' id='toBox'> </select>
$_POST['ico'] je ICO firmy v databaze, tabulka ma asi taktuto strukturu:Code:$delete_sql = "DELETE FROM user_odbor_prac WHERE ico = '".$_POST['ico']."'"; mysql_query($delete_sql); foreach($_POST['toBox'] as $Key => $Value) { $Query = "INSERT INTO user_odbor_prac(ico, odbor_prac) VALUES('".$_POST['ico']."','$Value')"; $Result = mysql_query($Query); }
Zadrhel je, ze foreach nezbehne a absolutne ma odignoruje, ked som skusal dat print $Query tak nic, akoby taka premenna ani neexistovala. Tato cast kodu sa tyka aktualizacie udajov v databaze. Najskor som to skusil cez UPDATE ale tam som si ani neskrtol, tak som skusil toto(premazat tabulku s rovnakym icom a nanovo nahrat data), ale ani to nejde. To ze s tym fakt neviem pohnut som zistil ked som sa pokusil o nieco taketoCode:CREATE TABLE IF NOT EXISTS `user_odbor_prac` ( `ico` int(10) NOT NULL, `odbor_prac` longtext COLLATE utf8_slovak_ci NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_slovak_ci;
Ja viem dost zleCode:for($i = 0; $toBox["$i"] == NULL; $i++) { $sql = "INSERT INTO user_odbor_prac(ico, odbor_prac) VALUES("'".$_POST['ico']."', 'toBox['".$i."']')' mysql_query($sql); }.
Taktiez som sa snazil vyuzit kod ktory pouzivam pri prvotnom vkladani info do db:
Cuduj sa svete ale nesiel ani ten, preto vas pekne prosim, kto my vie pomoct nech pomoze.Code:// zakladny prikaz, na ktory sa budu dalej nabalovat data $insert_prikaz_do_db = "INSERT INTO user_odbor_prac(ico, odbor_prac) VALUES"; // vytiahneme si udaje zo select-boxov $toBox = $_POST['toBox']; // ak tam nejake udaje su if($toBox) { // prejdeme vsetky polia foreach ($toBox as $t) { $i++; if($i == 1) { $insert_prikaz_do_db .= "('".$_POST['ico']."','$t')"; } else { // na zaklade kazdej polozky vytvorime novy udaj $insert_prikaz_do_db .= ", ('".$_POST['ico']."','$t')"; } } } // cely select uzavrieme bodkociarkou $insert_prikaz_do_db .= ";"; $insert_array = mysql_query($insert_prikaz_do_db);


Reply With Quote
