Jump to content
php.lv forumi

john.brown

Reģistrētie lietotāji
  • Posts

    510
  • Joined

  • Last visited

Everything posted by john.brown

  1. Nevar, tas strādās uz FF, bet uz IE nekā... Nepatīk šim tāds prasts risinājums :)
  2. Diezgan vienkārši :) Iekš mysql default charset - utf-8, iekš php default charset - utf-8 un apacim arī default charset - utf-8. Nu, un tabulas ar colāciju utf8_general_ci... Ne reizi nav bijusi vajadzība pēc SET NAMES :D
  3. Nez vai tomēr nav vienkāršāk katru ierakstu likt savā rindiņā failā. Un tad ar file() dabūt visu saturu masīvā, un ar count() noteikt skaitu...
  4. Un naf viņu divreiz vērt vaļā? $open = fopen($file, "r+"); $max = fread($open, filesize($file)); if($count > $max) { fseek($open,0); ftruncate($open,0); fwrite($open, $count); } fclose($open);
  5. Bļin, iekš $query tak tev ir tikai jautājiens pie mysql servera. Kas ir jānodod serverim un jāsaņem no viņa rezultāti! Un tu JAU to esi izdarījis iepriekš. Un tur pat, kur tu tos rezultātus izvadi html tabulā, arī veido to adrešu masīvu.
  6. Nu bet tu tak jau esi dabūjis tās adreses! Tak domā ar galvu...
  7. Nu redz. Un tagad padomē, kurā vietā tavā kodā tās ip adreses reāli ir? Tu tak tabulē šamās kā dabūn iekšā.. P.s. kaut tiešām izskatās, ka programēšana nav tava stiprā puse :D
  8. Un ko tev izvada var_dump($query)? Un kas ir domāts ar šito: "ip" =>"111", "222", "333"?
  9. Tu vari pastāstīt vienkāršiem vārdiem, ko tev dara šitas koda gabaliņš: $ip = $query; $info[] = array("ip" =>"$ip", "website" => $website );
  10. Varbūt papriekš šito pamatīgi izstudē: http://www.php.net/manual/en/ref.mysql.php
  11. Nu bet kā mēs varam zināt, kas tev tur tai 7. rindiņā ir? Visticamāk, kāda glupja kļūda, tipa samikols iepriekšējā rindiņā aizmirsts, vai kas tamlīdzīgs :)
  12. Vispār jau varēji notepad2 meņucī "Edit" paskatīties :D Shift+Tab
  13. Ir objektiņš MenuItem, un iekš tā jāpalaiž taimeris, kurš ar noteiktu intervālu izsauc kādu objekta funkciju. Nu šitā: MenuItem.prototype.doResize = function() { if(this.tSize == this.width) { this.stopTimer(); } else if(this.tSize > this.width) { this.enlarge(); } else { this.minimize(); } } MenuItem.prototype.startTimer = function() { if(this.timer == undefined) { this.timer = setInterval("this.doResize()",5); // te problēmiņa } } Nu, problēma iekš tā, ka viņš saka "this.doResize() is not a function" :( Kāds zin, kā to dabūt gatavu? ------------------------------- Nu, patiesībā atradu :) Ja kādam vajag, vot šitā jādara: this.timer = setInterval(function(obj){ obj.doResize(); }, 5, this);
  14. Lieki tukšumi tev tanī WHERE vērtībā neparādās? Tu trim($_POST['lietotajvards']) pamēģini. Vai charsets neatbilst. Tad vienkārši neatrod atbilstošu ierakstu, un erroru nekādu nebūs :)
  15. Ja php5, tad jau var arī exception`us. Es gan neteiktu, ka tas sanāk daudz saprotamāk, bez tam, uzreiz nāk klāt darbiņš sacerēt normālas exceptionu klasītes - lai iekš šamām kāda sakarīga informācija būtu. Nu, bet tas jau gaumes jautājums :) Nu neteiktu gan. If nosacījums pārbauda, vai tas, kas šamā uzrakstīts ir taisnība (true) vai meli (false). Piemēram if($variable) {} ir pilnīgi korekti, kaut es neko nesalīdzinu :) Un lasās mani nosacījumi gamdrīz normālā cilvēku valodā - ja ir kļūda saglabājot itemu, tad... Kas tur grūti lasāms? Nu nekādi neteikšu, ka šitas ir saprotamāks: $args = array(); if(!$reques->get('do')) { $view = new myInputFormView(); } else { try { $validator->validate($request); $dataItem = new myDataItem(); $dataItem->fill($request); $dataItem->save(); $view = new mySuccessView(); } catch(ValidateExcepton $e) { $errors = $e->getErrors(); $view = new myInputFormView(); $args['errors'] = $errors; $args['request'] = $request; } catch(DataItemException $e) { $errors = $e->getErrors(); $view = new myErrorView(); $args['errors'] = $errors; } } $view->render($args); Bez tam, divas exceptionu klases jārakst. Un validatora gadījumā tā nebūt nav triviāla :)
  16. bubu, es ko tādu domāju $args = array(); do{ if(!$reques->get('do')) { $view = new myInputFormView(); break; } if($errors = $validator->validate($request)) { $view = new myInputFormView(); $args['errors'] = $errors; $args['request'] = $request; break; } $dataItem = new myDataItem(); $dataItem->fill($request); if($errors = $dataItem->save()) { $view = new myErrorView(); $args['errors'] = $errors; break; } $view = new mySuccessView(); }while(0); $view->render($args);
  17. Ar to, ka var būt zināms vairums dažādu nosacījumu, kurus sabāzt iekš viena if, vai iekš if{}else sanāk ne visai loģiski/glīti. Bet jebkurā gadījumā koda gabals ir jāizlaiž. Tad arī šāda konstrukcija ir ļoti ērta.
  18. Nu, varu ieteikt xajax - javascripta tik 16Kb, iespējas tīri priekš ajax realizācijas normālas. Iekš prototype tur vēl, kā liekas, fīčas tieši ar ajax nesaistītas ir saliktas...
  19. Kaut ko līdzīgu var realizēt caur do{...}while. Apmēram šitā: do{ if(kaut kāds nosacijums) break; // te daram to, kas tiek izlaists pie nosacijuma }while(0); // te daram to kas jadara vienmeer
  20. Nu, jā, tad arī mana maziņa kapeiciņa fleimā par moduļiem ;) Par "modulāru" lapu, imho, var saukt tad, ja šamā satāv no kāda cores API, kurš nodrošina vienotu interfeisu moduļu darbībai. Moduļi paši var atkarībā no savas funkcionalitātes strādāt vai nu pilnīgi neatkarīgi no pārējiem, vai arī var būt kādas dependencijas, par kurām jau rakstīja Delfins. Ideālā variantā, dependencijām, IMHO, jābūt pēc iespējas vājām - tik lai paplašinātu esošo moduļa funkcionalitāti. Praktiski gan vienmēr ir kādi moduļi (core modules), bez kuriem tas viss vispār nevar funkcionēt...
  21. Re kur ir timeris, ko lietoju - http://paste.php.lv/4959 Tad šamo lieto k. kā tā: require_once('BNC_Timer.php'); $GLOBALS['Benchmark'] = new BNC_Timer(true); $GLOBALS['Benchmark']->setMarker('For cikla saakums'); for($i = 0;$i < 100000;$i++) { .... } $GLOBALS['Benchmark']->setMarker('For cikla beigas'); $GLOBALS['Benchmark']->stop(); $GLOBALS['Benchmark']->display(); Saliec visām funkcijām sākumā un beigās markerus, un skaties beigās, kas iet visilgāk. Nu un domā kā labot ;)
  22. Tak pats paskaties, kas rij resursu. Saliec uz funkcijam benchmarka taimerus, peskaties, kas tieši rij - nu un tad jau domā, kā nooptimizēt. A tā, bez komentāriem rakties cauri svešam kodam... :) Tev ātrāk sanāks :) Pilnīgi noteikti pregi bremzē, varbūt var šos aizvietot ar string funkcijām, droši vien k. kur var foreach uz for aizvietot...
  23. Nu, kā jau teicu, gaumes lieta. Ar sarežģītu kodu tu domāji pašu engine, vai lietošanu? Ko gan tu tur savā enginē esi salicis, ka pat smarty ir ātrāks? :D
  24. Smarty gan nav jēdzīgākais variants :) Pirmkārt, bremze diezgan pamatīga, otrkārt, ja cilvēks spēj saprast tizlo smarty sinttaksi, tad php šamam būs ka debesmanna :) Man pašam patīk šitas: http://www.avtox.ru/templus/ . Reāli ļauj atdalīt kodu no html, ko smarty pēc būtības nedara. Tak gaumes lieta, protams :)
×
×
  • Create New...