CrossUp Posted April 23, 2014 Report Share Posted April 23, 2014 Esmu izveidojis formu, kurā jāizvēlas opcija no <select> formas. Vērtības tiek ņemtas no datubāzes, un tiek padotas uz kontrolieri, izmantojot $this->input->post(); funkciju. Mans kods: <div class="row-fluid"> <ul class="thumbnails"> <?php if(count($galleries) >= 1): ?> <?php foreach($galleries as $gallery): ?> <?php $length = mb_strlen($gallery->title, "UTF-8"); ?> <?php $options[] = str_split_unicode($gallery->title, $length, $length); ?> <?php endforeach; ?> <?php endif; ?> <?php if(isset($project_images) && count($project_images)): ?> <?php foreach($project_images as $image): ?> <li class="span2"> <a class="thumbnail" href="<?php echo $image->url; ?>" data-lightbox="<?php echo $image->lightbox; ?>" title="<?php echo $image->title; ?>"> <img src="<?php echo $image->thumb_url; ?>" width="160" height="120"/> </a> <?php echo form_open_multipart();?> <?php if(isset($image->lightbox)): ?> <?php $value = str_split_unicode($image->lightbox, mb_strlen($image->lightbox, "UTF-8"), mb_strlen($image->lightbox, "UTF-8")); ?> <?php else: $value = array(); ?> <?php endif; ?> <?php echo form_dropdown('light[]', $options, $value, 'class="btn-small dropdown-toggle" data-toggle="dropdown"'); ?> </br> <?php $title_data = array( 'name' => 'title[]', 'value' => set_value('title', $image->title), 'class' => 'input-small', 'placeholder' => 'Nosaukums' ); ?> <?php echo form_input($title_data); ?> <?php echo anchor('admin/pictures/delete/' . $image->id, 'Dzēst', array( 'onclick' => "return confirm('Tiešām vēlies dzēst attēlu?');" )); ?><?php echo btn_trash('admin/pictures/delete/' . $image->id); ?> </li> <?php endforeach; ?> <?php endif; ?> </ul> </div> <tr> <td> <?php echo form_submit('save', 'Saglabāt', 'class="btn btn-primary"'); ?> <?php form_close(); ?> </td> </tr> Attiecīgās vērtības tiek attēlotas kā pienākas, tikai atgriež visur vērtību 0, parastā form_input() funkcija atgriež ievadītās vērtības. Ja ir iespējams izveidot savādāku dropdown menu, kur būtu iespēja izvēlēties vērtību, piemēram ar <ul> un <li> tagiem veidotu lūdzu padodiet man kādu informāciju par to, vēlos palasīt iespējas. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted April 23, 2014 Report Share Posted April 23, 2014 Kāpēc tu nevari kā normāli cilvēki pats uzrakstīt to select elementu? Nekad neesmu sapratis šitādus DOM brīnumus PHP pusē. Quote Link to comment Share on other sites More sharing options...
gurkjis Posted April 23, 2014 Report Share Posted April 23, 2014 Virsrakstā tu piemini <select> tagu, taču kodā to neredzu, ka ar to kaut ko darītu... Varbūt tu saki, ka gribi veidot custom izskata dropdown menu ? Ir gatavi jquery risinājumi tam, google: jquery custom select Quote Link to comment Share on other sites More sharing options...
CrossUp Posted April 24, 2014 Author Report Share Posted April 24, 2014 (edited) Virsrakstā tu piemini <select> tagu, taču kodā to neredzu, ka ar to kaut ko darītu... Varbūt tu saki, ka gribi veidot custom izskata dropdown menu ? Ir gatavi jquery risinājumi tam, google: jquery custom select Biju mēģinājis arī visu rakstīt ar <select> un <options> tagiem, rezultāts bija 0 vērtību vietā nekāda vērtība, jeb ' '. Šodien skatoties tevis iedotos paraugu variantus sapratu kāpēc tā. Pie <options> taga nevajag aizpildīt value=" " vērtību. Īsti nezinu kāpēc tā, bet man jau tagad šķiet, ka būs problēma ar pēcapstrādi, proti, brīdī kad tiks izvēlēta opcija iekš <options> taga un nospiests 'save' informācju saglabās DB. Nākamreiz, kad atvērs šo lapu tiem diviem būtu jāsakārtojas pēc izvēlēto opciju nosaukumiem augošā secībā un default vērtībai tad jābūt nevis no visa lielā saraksta pirmajai (kā tas ir šobrīd), bet gan jau tai izvēlētajai vērtībai. Edited April 24, 2014 by CrossUp Quote Link to comment Share on other sites More sharing options...
EdgarsK Posted April 24, 2014 Report Share Posted April 24, 2014 nafig tu formu atver kaut kur pa vidu foreacham vairakas reizes bet formu aizver pasa apaksa? Quote Link to comment Share on other sites More sharing options...
CrossUp Posted April 24, 2014 Author Report Share Posted April 24, 2014 nafig tu formu atver kaut kur pa vidu foreacham vairakas reizes bet formu aizver pasa apaksa? Paskaidro, lūdzu, kā tu to domāji. Neredzu neko tādu, ko tu apraksti. Quote Link to comment Share on other sites More sharing options...
CrossUp Posted April 24, 2014 Author Report Share Posted April 24, 2014 Ir izdevies visu vajadzīgo informāciju iegūt, apstrādāt un saglabāt DB. Problēma arī uzpeldēja tieši kā biju paredzējis. Select tagā nerādās tā vērtība kuru esmu saglabajis DB, bet gan sākot ar latviešu alfabēta mazāko burtu (a = 1, ž =33). Kārtošana un lauka pareizā vērtības attēlošana ir ļoti svarīga projekta sastāvdaļa. Ideja kā šo varētu labot būtu sadalīt pa uzskatāmām <tr><td> daļām tos nosaukumus alfabēta secībā un tad var palikt sākotnējā vērtība kāda ir, ieguvums būs vizuāli uzskatāms un nepārprotams sadalījums. Ja man tas izdosies un kāds gribēs redzēt rezultātu ierakstīšu. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted April 24, 2014 Report Share Posted April 24, 2014 Neviens to sviestu negribēs, tu tur kaut kādu drūmo sviestu tagad grūd. Tu vēl joprojām neesi pateicis, kur un kā tu to selektu nolasi un kāds vispār ir HTML output, jo no tām funkcijām neko nevar saprast. Cik var saprast no to funkciju izvietojuma, HTML struktūra tev ir pilnīgā pakaļā, ko EdgarsK jau pieminēja. Quote Link to comment Share on other sites More sharing options...
CrossUp Posted April 24, 2014 Author Report Share Posted April 24, 2014 (edited) Neviens to sviestu negribēs, tu tur kaut kādu drūmo sviestu tagad grūd. Tu vēl joprojām neesi pateicis, kur un kā tu to selektu nolasi un kāds vispār ir HTML output, jo no tām funkcijām neko nevar saprast. Cik var saprast no to funkciju izvietojuma, HTML struktūra tev ir pilnīgā pakaļā, ko EdgarsK jau pieminēja. Selektu nolasu šādi: if($this->input->post('save')){ $data = $this->input->post('save'); $lightbox = $data['lightbox']; $title = $data['title']; Tiek atgriesti 2 masīvi ar izvēlēto select taga option vērtību un ierakstīto title vērtību. Mana kļūda pirms tam bija pie <option> taga, es tam norādīju vērtību <option value="vērtība"> tāpēc man atgrieza 0 vai ' '. Man tas kods patiesībā ir gaužām vienkāršs. Pirmajā if pārbaudē pārbauda vai ir kāds galerijas ieraksts DB, lai tālāk (pagaidām nav izdarīts) vizuāli atdalītu galerijas vienu no otras un foreach ciklā no std objekta iegūstu vērtības masīvā str_split_unicode funkciju pats sarakstīju, lai iegūtu UTF-8 vērtības iekšā tā selekta (es nezinu kāds ir default un vai pietiek ar <meta> noteikto). Nākamajā, jeb otrajā, jeb pēdējā if pārbaudē skatās vai projektam ir kaut 1 iesūtīta bilde, ja ir tad izveido smukus div'us ar bildes thumb'u, to select'u un 1 teksta input lauku. Tiem, kas nezina, tad, piemēram, $image->thumb_url; nozīmē $vienuma_vērtība->attiecīgā_vērtība_DB, jo šādi es iegūsti maksimāli dinamisku html attēlojumu (vismaz man šķiet, ka 'drūmais sviests' ir dinamiska lapa. Par to formu. Es viņu atveru 'viducī', jo neuzskatu par vajadzīgo arī to bildi ietvert formā. Tur domāts pa lielam tikai tas select's un 1 input's, aizveru viņu pašā apakšā tikai dēļ tā pogas novietojuma. Tā kā struktūra, manuprāt ir secīgi 'Ja ir kāda galerija, dalām itemus galerijās, ja nav tad atstājam nesakārtotu -> attēlojam bildes -> atveram input formu -> pievienojam galerijas select'u -> pievienojam teksta input'u -> aizsūtam formu uz kontrolieri -> aizveram formu Doma ir imitēt CI image crud, tikai uz php bāzētu. Edited April 24, 2014 by CrossUp Quote Link to comment Share on other sites More sharing options...
jurchiks Posted April 24, 2014 Report Share Posted April 24, 2014 Vai tu kaut ko zini par pareizu HTML struktūru? Tu nevari atvērt formu table>tr>td un aizvērt 3 rowus zemāk, tas ir invalid DOM. Formai jābūt atvērtai UN aizvērtai vai nu vienā un tajā pašā tr>td, vai vispār ārpus tabulas. Atver savai lapai view page source pārlūkā un paskaties, kādu struktūru tu reāli izvadi. Pie reizes iemet http://validator.w3.org/, paskaties, kas vēl tev tur nav kārtībā. Starp citu, kas tā mūsdienās par modi baidīties no $_GET/$_POST? Quote Link to comment Share on other sites More sharing options...
gurkjis Posted April 24, 2014 Report Share Posted April 24, 2014 (edited) Biju mēģinājis arī visu rakstīt ar <select> un <options> tagiem, rezultāts bija 0 vērtību vietā nekāda vērtība, jeb ' '. Šodien skatoties tevis iedotos paraugu variantus sapratu kāpēc tā. Pie <options> taga nevajag aizpildīt value=" " vērtību. Īsti nezinu kāpēc tā, bet man jau tagad šķiet, ka būs problēma ar pēcapstrādi, proti, brīdī kad tiks izvēlēta opcija iekš <options> taga un nospiests 'save' informācju saglabās DB. Nākamreiz, kad atvērs šo lapu tiem diviem būtu jāsakārtojas pēc izvēlēto opciju nosaukumiem augošā secībā un default vērtībai tad jābūt nevis no visa lielā saraksta pirmajai (kā tas ir šobrīd), bet gan jau tai izvēlētajai vērtībai. Nu Tev vienkārši ieselektētajam option tagam ir jāiedod atribūts selected="selected" , tas ir vienīgais veselīgais veids, kā to darīt. Pārējo jau sarakstīja citi biedri, bet pamēģini varbūt arī izmantot php short tagus templeitiem, citadi tie daudzie <?php izskatās pēc izvarošanas scēnas. Un <?php echo 'some' ?> vietā var izmantot <?='some' ?> Ja nemaldos, short tagi ies defaultā kaut kādā no jaunajām php versijām, nevis būs atkarīgi no ini settinga. Edited April 24, 2014 by gurkjis Quote Link to comment Share on other sites More sharing options...
CrossUp Posted April 24, 2014 Author Report Share Posted April 24, 2014 (edited) Vai tu kaut ko zini par pareizu HTML struktūru? Tu nevari atvērt formu table>tr>td un aizvērt 3 rowus zemāk, tas ir invalid DOM. Formai jābūt atvērtai UN aizvērtai vai nu vienā un tajā pašā tr>td, vai vispār ārpus tabulas. Atver savai lapai view page source pārlūkā un paskaties, kādu struktūru tu reāli izvadi. Pie reizes iemet http://validator.w3.org/, paskaties, kas vēl tev tur nav kārtībā. Starp citu, kas tā mūsdienās par modi baidīties no $_GET/$_POST? Godīgi saku, ka nezinu kāda tieši skaitās 'pareiza' struktūra, kur to varu iemācīties? Ja w3schools.org, tad man tas laikam nederēs, jo man ir nepieciešama html korelācija ar php un js, ja tur to arī piedāvā esmu gatavs pamacīties, bieži pats jūtu, ka krītu uz muļķīgām kļūdām. Līdz šim šķita, ka html ir tikai attēlojums un php apstrāde, tākā baigi nozīmīgs html apstrādes ziņā nav, šķita, ka forma pati par sevi ja ir atvērta tur var grūst vienalga kādu html izkārtojumu ja vien viņa ir pareizā brīdī aizsūtīta un aizvērta, laikam esmu kļūdījies. Projektu rakstu augstskolas vajadzībām (kvalifikācijas darbs), izmantoju wamp, sūtot to failu uz validatoru viņš atgriež kļūdas paziņojumu: 'Sorry! This document cannot be checked.' tas extention '.php' dēļ varētu būt ? Ja samainu tikai extention uz '.html' tas neko neiespaidos citos failos, kas mijiedarbojas ar to (bail kaut ko sabojāt) ? Es neizmantoju $_GET jo īsti nezinu ko tas dara, ja vajadzētu tad noskaidrotu, $_POST neizmantoju šajai apstrādei, jo codeigniter piedāvā iebūvēto funkciju, kas dara to pašu, izmantoju iesūtīto bilžu apstrādei, jo CI nepiedāvā vairāku bilžu augšupielādi un nācās pašam kaut ko izmeistarot, kur $_POST noderēja. Tiek pieļautas tik daudz, jūsuprāt, rupjas kļūdas, jo es ar html, php, css, js esmu darbojies tikai nedaudz vairāk kā pusgadu skolas ietvaros, nevis darbā vai kā savādāk un pie šīm valodām daudz laika neesmu pavadījis, es tikai mācos, tāpēc arī ar interesi lasu jūsu ieteikumus un cenšos tos izpildīt (ar šo atbildu arī uz biedra 'gurkjis' postu). Edited April 24, 2014 by CrossUp Quote Link to comment Share on other sites More sharing options...
Kavacky Posted April 24, 2014 Report Share Posted April 24, 2014 Apstrādes ziņā HTML tiešām nav nozīmīgs. Bet pie izvadīšanas pareiza HTML struktūra ir būtiska, lai tu ekrānā ieraudzītu to, ko vēlies redzēt, nevis vienkārši to, kas nu tur sanāk. Projektu un augstskolai? Kvalifikācijas darbs? Kur tu mācies - LLU kartupeļu stādīšanas fakultātē, vai? Quote Link to comment Share on other sites More sharing options...
CrossUp Posted April 24, 2014 Author Report Share Posted April 24, 2014 Apstrādes ziņā HTML tiešām nav nozīmīgs. Bet pie izvadīšanas pareiza HTML struktūra ir būtiska, lai tu ekrānā ieraudzītu to, ko vēlies redzēt, nevis vienkārši to, kas nu tur sanāk. Projektu un augstskolai? Kvalifikācijas darbs? Kur tu mācies - LLU kartupeļu stādīšanas fakultātē, vai? Tad baigi kļūdījies es tomēr neesmu, jo redzu tieši to un kā es gribu, visu laiku kliboja apstrāde, par to 'pareizo' html struktūru es tomēr gribu ko palasīt. Latvijas Universitātē mācoties 4. semestrī ir jāiet prakse un paralēli jāraksta kvalifikācijas darbs (programēšanas studiju programas bakalauriem), kāpēc tevi izbrīna fakts, ka skola uzdod studentiem apjomīgākus darbus? Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 24, 2014 Report Share Posted April 24, 2014 Šādas lietas uzdod LU, pēdējajā kursā? O_o Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.