Jump to content
php.lv forumi

Maris-S

Reģistrētie lietotāji
  • Posts

    634
  • Joined

  • Last visited

Everything posted by Maris-S

  1. Labāk ar echo izvadi nevis pašu ciparu, bet visu vaicājumu un tad palaid viņu no jebkura MySql klienta, paskaties vai nostrādās tur un vai patiešām ir tāds ieraksts ar atbilstošo sf_id utt.
  2. Kāpēc nelikt mainīgo pa tiešo? $str = "aaa"; echo("Mainīgā vērtība ir: $str.");
  3. http://www.techonthe...ing/replace.php
  4. Lostz, to ko teica Briedis par šablonu sistēmu izmantošanu, pareizāk sakot viņš ieteica neizmantot, es viņam pilnīgi piekrītu. Tomēr MVC nav šablonu sistēma. Ja Tu gribi apgūtu kā taisīt tieši šablonu sistēmas, par ko Tu arī jautāji un ja tai pašā laikā uzskati ka ieteikums apskatīt jau esošās sistēmas, piemēram Smarty, lai saprastu kā viņas tiek taisītas, nevis kā tiek izmantotas, bet tieši kā uztaisītas, ir lieka gudrīšanās un pārspīlēta intelekta izrādīšana, tad diez vai kāds Tev spēs palīdzēt.
  5. Piekrītu Codez par praktiskiem uzdevumiem. Bieži pārbaudes uzdevumi ir teorētisko zināšanu pārbaude, jāatzīst ka šeit pat iesācējam būtu vieglāk, ja viņš protams mācījies teoriju, jo teorētiskās lietas mēdz aizmirsties, ja ar tām nesaskaras praksē. Šis uzdevums protams daudz maz ir normāls, te es neteiktu ka ir tikai teorija, bet labāk patiešām iedot uzdevumu, kas kaut cik varētu būt izmantojams praksē, jo masīva elementa summa diez vai tāda būs, vismaz standarta situācijā. Nedomāju ka tāda situācija ir tikai ar angļiem, noteikti Latvijā tas pats. Īpaši mūsdienās, kad ļoti daudz ir gatavu risinājumu: CMS sistēmas, blogi, forumi utt., tā ka var sanākt ka darba pieredze taisot kādas mājas lapas, iespējams, ir balstīta tieši uz gatavu risinājumu izmantošanas un tādā gadījumā šādus uzdevumus patiešām būtu pagrūti izpildīt.
  6. Nu viens no variantiem, sataisīts uz ātro, varētu būt šāds. Pēti kodu un pārtaisi atbilstoši kā Tev vajag. Bez jquery, tāpēc varēsi arī saīsināt dažas lietas, izmantojot to. Protams kods der tikai tad, ja katrs td satur tikai vienu formu, ja ir vairākas, tad jāiet pa ciklu un jāmeklē ar atbilstošo klasi, nosaukumu vai id, atbilstoši specifikai. Tagad ir alert, bet ja to nomainīsi uz return, funkcija atgriezīs id. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Form in td</title> <script type="text/javascript"> function getElement(id) { if (document.getElementById) { return document.getElementById(id); } else if (document.all) { return document.all[id]; } else if (document.layers) { return document.layers[id]; } } function get_form_id(elem) { form_array = elem.parentNode.getElementsByTagName('form'); alert(form_array[0].getAttribute('id')); } </script> </head> <body> <table cellpadding="0" cellspacing="0"> <tr> <td id="td_id"> <form id="id_1" name="name_1" action="" method="post"> </form> <a href="" onclick="javascript: get_form_id(this); return false;">Click 1</a> </td> <td> <form id="id_2" name="name_2" action="" method="post"> </form> <a href="" onclick="javascript: get_form_id(this); return false;">Click 2</a> </td> <td> <form id="id_3" name="name_3" action="" method="post"> </form> <a href="" onclick="javascript: get_form_id(this); return false;">Click 2</a> </td> </tr> </table> </body> </html>
  7. Pag, sanāk Tu gribi dabūt tieši to formu, kas atrodas tajā pašā <td></td>, kurā atrodas <a></a> uz kuru tika nospiests, tā?
  8. Rpr, kaut vai tā: $array = array(1, 2, 4, 8, 10); function a_sum($key) { global $array; if (isset($array[$key])) return $array[$key] + a_sum($key + 1); else return 0; } echo(a_sum(0)); V3rb0, uzdevums priekš juniora ir par sarežģītu, ka jau teicu, īpaši, ja būs jātaisa bez googles un php dokumentācijas palīdzības, jo te ir jāzina ne tikai vienkāršs cikls, bet arī rekursija un oop, klāt vēl rakstzīmju virknes pārtaisīšana uz masīvu, explode(), kuru juniors no galvas varētu arī nezināt un jā, pats arī piezīmēji ka savienojumu ar db arī ne kurš katrs juniors varēs sataisīt no galvas. Protams ja ir pieejama dokumentācija un internets uzdevuma pārbaudes laikā, tad pavisam cita lieta.
  9. Īsti nesaprotu ko vēlies panākt? Tai formai nav gadījumā aizmirsts noslēdzošais tags? Labāk uzraksti ko vēlies panākt? Ja Tu gribi dabūt formas id pēc formas nosaukuma, tad to varētu darīt šādi: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Form id</title> </head> <body> <form id="form_id" name="form_name" action="" method="post"> </form> <a href="javascript: alert(document.form_name.getAttribute('id'));">Get id</a> </body> </html> Tikai kods bez jquery, iespējams getAttribute() ne visos pārlūkos strādās, bet ja aizvietosi atbilstoši visu ar jquery funkcijām, būtu jāstrādā.
  10. Nu visumā php jau nav templeitu valoda, bet nesen uzsāku sarunu par to vai vajag vai nevajag izmantot šablonus, mans viedoklis ka to nevajag. Šeit ir tā diskusija: http://php.lv/f/topic/19199-kapec-izmantot-template-engines/page__p__149346 Ja tomēr izdomā taisīt savu šablonu sistēmu, tad vari apskatīties jebkuru jau gatavu, kaut vai to pašu smarty, apskaties vienkārši kā tur sataisīts, mācību nolūkiem gan jau derēs.
  11. Rpr, bet kur ir problēma realizēt šo lietu ar rekursīvu funkciju? Protams tā nedarītu reālajos projektos, tur izmantotu vienkārši array_sum() funkciju, bet pārbaudīt vai cilvēks zina, kas ir rekursija ar šādu piemēru varētu. Kaut gan piekrītu daGrevis, priekš juniora pa sarežģītu, īpaši ja būs jātaisa bez googles un php dokumentācijas palīdzības.
  12. Maris-S

    divs

    Uz ātro sataisīju piemēru, tomēr arī augšējam divam izmantoju absolūto pozicionēšanu. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Div positions</title> <link rel="stylesheet" href="css/columns.css" type="text/css" media="screen" charset="utf-8" /> <style type="text/css"> .container { width: 440px; } .outer { width: 200px; height: 300px; margin: 10px; background-color: lime; position: relative; float: left; } .top { position: absolute; top: 0px; right: 0px; } .bottom { position: absolute; bottom: 0px; left: 0px; } </style> </head> <body> <div class="container"> <div class="outer"> <div class="top">Augšējais</div> <div class="bottom">Apakšējais</div> </div> <div class="outer"> <div class="top">Augšējais</div> <div class="bottom">Apakšējais</div> </div> <div class="outer"> <div class="top">Augšējais</div> <div class="bottom">Apakšējais</div> </div> <div class="outer"> <div class="top">Augšējais</div> <div class="bottom">Apakšējais</div> </div> <div class="outer"> <div class="top">Augšējais</div> <div class="bottom">Apakšējais</div> </div> <div class="outer"> <div class="top">Augšējais</div> <div class="bottom">Apakšējais</div> </div> </div> </body> </html>
  13. Maris-S

    divs

    Vienu otram blakus var nolikt, kā jau šeit minēja, izmantojot "float: left", pozicionēt tekstu pa labi varēsi ar to pašu "text-align: right", bet lejā gan laikam nāksies izmantot pozicionēšanu, ja gribi, lai diva saturs neietekmē apakšējā teksta izvietojumu. Ideja apmēram šāda, lielais divs, šajā gadījumā kas ir kā tabulas šūna ar "position: relative" un iekšā maziņš divs ar "position: absolute; left: 0px; bottom: 0px", kaut kā tā.
  14. Te daudz atsauksmju. http://www.salidzini.lv/shop_profile.php?shop=TehnoShop.lv Ne visai labas, ja ticēt atsauksmēm, tad kādu laiku atpakaļ nomainījuši juridisko nosaukumu un garantijas pazuda.
  15. Nesen par meklēšanas tēmām uzgāju šo lietu: http://sphinxsearch.com Vienīgi īsti nezinu kā viņš vispār strādā un vai ir savietojams ar web, neesmu vēl izpētījis, bet ja ir interese apskaties, varbūt Tev galīgi nekas tur nederēs.
  16. Tak aizejiet uz pārrunām un izrunājiet visus jautājums tai skaitā atalgojumu. Piedāvājumam nav ne vaina.
  17. Es īsti arī nesaprotu par ko iet runa. Te patiešām iet runa par kešošanu (Cache)?
  18. Par koda sakārtošanu piekrītu, sakārto kodu un nesaspied, saliec atstarpes un tabus, kur to vajag. Būs pārskatāms kods, būs pašam vieglāk saprast un īpaši citiem, ja gribi, lai kāds palīdz. Sāc ar kļūdu paziņojumu ieslēgšanu. error_reporting(E_ALL); ini_set('display_errors','1'); nevis error_reporting(E_ALL);
  19. Ar joiniem Tu neaiztiec datubāzi un neko tur nemaini.
  20. Ja Tu patiešām ieslēdzi kļūdu paziņojumus, ko Briedis teica, tad viennozīmīgi redzēsi kaut ko tādu: Notice: Undefined variable: POST in ........
  21. Paskaties šo: http://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html iespējams ka noder. Jāņem vērā ka pie kļūdām, kad ieraksts neievietojas autoincrement koloniņa vienalga palielināsies, ja tas ir aktuāli protams.
  22. Nu šis te labais. :) <?php if ($first_page !== FALSE): ?> <a href="<?php echo $page->url($first_page) ?>" rel="first"><?php echo __('First') ?></a> <?php else: ?> <?php echo __('First') ?> <?php endif ?> Priekš kam pēdējās 3 rindiņās katrā tiek atvērti aizvērti <?php ?> tagi? Nekad neesmu sapratis kāpēc if nosacījumus bāž vienā rindiņā kopā ar php tagiem, vai tad Jums patiešām ir tā ērtāk? Man šis liekās daudz saprotamāks: <?php if ($first_page !== FALSE): ?><a href="<?php echo $page->url($first_page) ?>" rel="first"><?php echo __('First') ?></a><?php else: echo __('First'); endif ?> tomēr te jāpiekrīt daGrevis, katrs kodē kā ir pieradis un kā viņam ir ērtāk. Tas tā par pašu php koda rakstīšanas stilu. Tas ka šablonu sistēmu kods būs īsāks nestrīdos, bet ērtāks viņš no tā nepaliek. Tā garā rindiņa ar kaudzi {{}} nu nemaz neizskatās ērta. Te es laikam atkal kaut ko neesmu sapratis, jo nezinu Mustache, bet izskatās ka tur ar vieniem un tiem pat {{}} apzīmē gan mainīgos, gan ciklus, gan visu pārējo. Sanāk ka koda vidū jebkuru no atrastajiem apzīmējumiem pat neizpratīsi ko viņš dara, neapskatot un neizpētot visu apkārt. Vai tomēr tā nav? Vai ir tā, sanāk {{#items}}{{/items}} ir cikls, bet visi iekšējie ir jau kā mainīgie? Par logicless vienalga nesaprotu, kāpēc jāapgalvo ka šablonu sistēmām nav loģiskās struktūras, bet php jau neskaitās logicless? Ja jau šablonu sistēmu cikls saucams par logicless, tad jau ari php cikla pieraksts ir logicless, tā pat jebkurš if, vai jebkura cita konstrukcija. Tas ka es pierakstu 5 ar romiešu V, skaitļa vērtību nemaina. Šablonu sistēmas nav logicless, ir tikai cita pieraksta sintakse.
  23. Par Mustache konkrēti nezinu, nezinu pat vai tā ir klasiska šablonu sistēma, vai kas pavisam cits, būs jāpapēta. Visumā es nemaz nerunāju tikai par kādu konkrētu šablonu sistēmu, pieminēju Smarty tikai tāpēc ka tā samērā izplatīta. Uz ātro apskatoties Mustache, pēc saites ko iedevi, tad šablons tur ir tāds: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>{{title}}</title> </head> <body> <h1>{{title}}</h1> <p>{{>content}}</p> </body> </html> uzreiz varu uzdot to pašu jautājumu, ar ko tas labāks par šo: <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title><?php echo($title); ?></title> </head> <body> <h1><?php echo($title); ?></h1> <p><?php echo($content); ?></p> </body> </html> ? Tā, lai dziļi nemeklēt pa dokumentācijām, tad kā ar viņu tiek organizēti cikli vai nosacījumi, piemēram vairāku tabulu rindiņu izvadīšana? Vai patiešām tur nav loģiskās daļas?
  24. Paldies par atbildēm un diskusiju. Principā redzu ka neesmu vienīgais kas neuzskata šablonu sistēmas par priekšrocību. Paldies arī par saitēm uz stackoverflow diskusijām par šo tēmu. Kā jau minēju viens no trūkumiem ir veiktspēja, šis pētījums to apliecina: http://www.phpcomparison.net. Vēl dažas pārdomas par tēmu. Pārsvarā visur par priekšrocībām tiek minēts loģikas atdalīšana no skata un tas, ka dizainerim būtu vieglāk strādāt pie dizaina izvietošanas htmlā, nemācoties php. Nevaru piekrist ne vienam, ne otram pamatojumam. Nekāda loģikas atdalīšana no skata nenotiek vispār, mainās tikai loģikas pierakstīšanas sintakse, būtībā tiekam vaļā no loģikas pieraksta php sintaksē un izveidojam jaunu valodas sintaksi loģikas pierakstam. Nevar pierakstīt "ja - tad - citādi" izteiksmi bez loģikas, nav iespējams. Dizainerim nav jādomā vispār par loģikas niansēm. Piemēram, dizainerim nav jāraksta tāds html kods, kādu to bieži norāda šablonu sistēmu piemēros: <title>{$title}</title> dizainerim ir jāraksta: <title>Vieta nosaukuma</title> vai vienalga ko jāliek "vieta nosaukumam" vietā, nav viņam jādomā par to ka tur būs mainīgais, nemainīgs tekst, vai vispār neko tur nerakstīs. Dizainerim arī nevajadzētu domāt par cikliem, kas izvada <ul>, <ol> sarakstu elementus, vai izvada tabulu rindiņas, vienkārši jāizveido statisks htmls un loģika jāveido programmētājam. Tādas ir manas domas un secinājums ir tāds, ka šablonu sistēma, vismaz uz doto brīdi, nav nepieciešama un nekādas priekšrocības nerada.
  25. Vai ir liela jēga izmantot šablonu sistēmas? Iespējams es neesmu kaut ko sapratis, bet es redzu vairāk trūkumus nekā priekšrocības šablonu sistēmām. Piemēram, ja apskatam "smarty", es nesaprotu ar ko šis: <ul> {for $foo=1 to 3} <li>{$foo}</li> {/for} </ul> ir labāks par šo: <ul> <?php for ($i = 1; $i < 4; $i++) { echo("<li>$i</li>"); } ?> </ul> Vienīgā priekšrocība ir tas ka kods ir mazliet īsāks, ko es nekad neesmu uzskatījis par priekšrocību. Tomēr trūkumu ir vairāk kā vajag. Pats primitīvais ka nav "code highlight" jebkurā izstrādāšanas vidē. Tālāk jāmācās vēl šablonu valoda, ja iet runa par smarty, tad daudz maz ir ok, tā ir izplatīta, tai ir dokumentācija, to var salīdzinoši vienkārši iemācīties, bet ja iet runa par paštaisītu, kurai noteikti nav ne dokumentācijas ne pamācību, tad uzreiz sarežģījas lietas, kad kods ir jānodod citiem programmētājiem. Nākošais ir veiktspēja. Jau tā php ir salīdzinoši lēns, jo ir interpretators un tad ar šo interpretatoru tiek veidots vēl viens šablonu interpretators, ar savu sintaksi, saviem tagiem, kas visu kopējo padarīšanu vēl vairāk palēninās. Viss tas tikai tāpēc, lai izņemtu <?php ?> no html koda un izveidotu savus, kas veido nepieciešamību pētīt kā kodā darbojas visādi ķeburi, kuriem nav pilnīgi nekā kopēja ne ar php, ne html. Kas ir slikts ja skatā parādās daži php tagi? To visu dara principa pēc, vai kā?
×
×
  • Create New...