Jump to content
php.lv forumi

hmnc

Reģistrētie lietotāji
  • Posts

    1,138
  • Joined

  • Last visited

Posts posted by hmnc

  1. Radās liela nepieciešamība šādu tādu tabuliņu pa taisno no web-browsera iemest iekš to Exceļa. ideja triviāli vienkārša un pie tam ļoti labi strādājoša:

    header("Content-Type: application/xls;");
    header("Content-Disposition: attachment; filename=table.xls");
    echo $tabula;

     

    $tabula - tur mums ir plika <table><tr><td>xx</td></tr></table> sintakse, BET - tas viss ir UTF-8 kodejumā, jo vienlaicīgi vajag attēlot gan latviešu gan krievu valodu.

    header("Content-Type: application/xls; charset: UTF-8");

    nestrādā. mēģināju vēl visādos veidos iebarot to encoding, bet Excel nesaprot to - garumzīmju vietā rādās ķeburi.

    ja taisa parastu text/html failu ar charsetu UTF-8 tad viss rādās ļoti smuki, tātad problēma ir atverot unikodēto failu iekš to Exceļa.

     

    Ir kādi risinājumi vai tas ir bezcerīgi atvērt unicodētu tabuliņu ar Exceli?

    paldies jau iepriekš.

  2. Tas tāpēc, ka reku šeit:

    $db = new db();

    tu izveido papildus konekciju!

    A vajag taču $db = db::instance(); kā pats dažas rindiņas augstāk raksti.

    12776[/snapback]

     

    aahhh!!! viss aizgāja ;)

    ok paldies visiem, kuri man palīdzēja!

  3. Kapēc nelietot globālu mainīgo $My_super_db_connection, ko inicializē faila sākumā?

    12772[/snapback]

     

    viss sarežģītais ir elementārs! kā gan varēju aizmirst par šo variantu :D

    Paldies Smejmoon!!

     

    bet tomēr gribu uzzināt arī par tām klasēm - kas tur aizgājis greizi.

  4. Ir viens jautājums, kas pavisam nedaudz nomoka manu prātu. Tā kā OOP neesmu īpaši spēcīgs un programmēju es visbiežāk līdz tam līmenim, līdz kuram sniedzas manas zināšanas tad nolēmu, ka derētu pajautāt gudrākiem cilvēkiem.

    Ir viena klase (sauksim to par lietotāju klasi), kurai nu ļoti ļoti derētu darboties ap datubāzēm (select, insert, update, delete...), bet te man jau ir datubāzes klase (kura veic query, var_query, utt), kura tiek aktīvi izmantota. Līdz ar to nonāku pie problēmas - kā _LABĀK_ savieno abas klases. resp - iekš lietotāju klases brīvi lietot datubāzes klasi, jo datubāzes klase tā tāda pierasta un ļoti ērta lieta.

     

    class a extends class b, kaut kā īsti negribēja strādāt (datubāzes klase meta ārā gļukainus paziņojumus, kurus īsti nevarēja novērst) vai arī mans curve_hands.dll nesniedzās līdz tam līmenim lai tas strādātu.

    otrs veids ko izmēģināju - izsaucu datubāzes klasi iekš lietotāju klases šādā variācijā:

    $this->db = new db_class(login,pass,host,blabla);

    bet šāds variants man likās visnotaļ līks (a varbūt nemaz nav). + likās līki taisīt divas konekcijas datubāzes (new db_class arī tiek izsaukts ārpus lietotāju klases).

    So.. kādi piedāvājumi?

     

    Jau iepriekš - paldies.

    p.s.

    Nevajag tikai fleimot par to cik labs/slikts OOP ir + vai viņu vajag/nevajag lietot.

    Ir problēma - vajag risinājumu. paldies :)

  5. viena tante teica....

    dēļ mysql_pconnect parādās errori: too many connections; serveri gāž nost.

    vienmēr un visur iesaka izmantot mysql_connect. tikai un vienīgi.

    cik saprotu pconnect never ciet konekcijas (persistant connections), ko gan dara connect. līdz ar to atbrīvojas connection skaits uz servera (ar mysql_connect) + tmp iztīrās (ne?) . līdz ar to i tev labi i serverim labi.

  6. queriju skaits ir atkarīgs no tā cik tabulas tu izmantosi.

    piemēram ja index lapā tev no datubāzes ņemsies ziņas, banneri, linki tad arī tev būs 3 pieprasījumi. mazāk jau neuztaisīsi :D

    galvenais netaisīt miljons lieku queriju. kā jau minēju - MYSQL pieprasījumi ir ļoti fleksibli tādēļ nevajadzētu būt problēmām taisīt advancētu vienu pieprasījumu nevis vairākus līdzīgus pieprasījumus.

  7. smejies vai raudi es šodien nejauši arī iedomājos par md5(md5(pass)), bet galīgi ne pa tēmu :D

     

    bet nu jā. md5 nav uzlaužams - tikai ar bruteforce. tas ir vienvirziena kriptēšanas algoritms, kurš neparedz nekādu atpakaļceļu. domā, ka tikai Latvijā ir cilvēki, kuri grib lauzt md5? :D :D

  8. Venom - un ja nu.. tas ir variants.. un ja nu tu nomirsti - neiesi ārā uz ielas, nebrauksi ar mašīnu? :D :D

    bet nu jā. tapēc vajag funkciju, kas ķer mainīgos. vismaz ērtāk izmantot.

     

    labs iemesls lietot " " ir

    echo "new line\n";

  9. jā! optimizācija ir ļoti laba lieta un to vienkārši vajag, jo:

    1) kods izskatās zolīdāk

    2) par sekundes simtdaļām arī strādā ātrāk

    3) mazāk noslogojas serveris (lieki mainīgie, utt)

     

    daži padomi:

    if ( empty($var) ) { echo 'not set'; }

    vietā varam izmantot:

    if ( !$var ) { echo 'not set'; }

    vienīgi neies cauri, ja ņemsi masīvu elementus. tiem vajag isset()

    ***

    ja vajag vienkāršu pārbaudi uz jā/nē tad ļoti noder if/then/else saīsinātais variants:

    $viens = "ir ir !! ";
    $divi = "diemzheel nebuus";
    $out = ($var ? $viens : $divi );

    garais pieraksts būtu:

    if ( $var ) {
        $out = $viens;
        }
    else {
        $out = $divi;
        }

     

    un nemaz nerunājot par liekiem mainīgajiem:

    $var = $row['var'];
    echo '<div class="var">'.nl2br($var).'</div>';

    labāk būtu :

    echo '<div class="var">'.nl2br($row['var']).'</div>';

     

    un protams neaizmirstam, ka iekš mysql pastāv ne tikai SELECT * FROM table WHERE 1 = 2, bet gan ļoti daudzas citas noderīgas funkcijas ar kurām var jau viltīgi atlasīt, kārtot, ievietot un vēl visko darīt, lai samazinātu mysql pieprasījumu skaitu un php koda daudzumu.

  10. BigUgga savulaik bija radījis ko labāku par bubu piedāvāto variantu:

     

    <?
     define(MAX_LEN, 10);
     function check_len($text) {
       $patt=array("/([^ ]{".MAX_LEN.",})/e", "/[\s\t]{".MAX_LEN.",}/");
       $repl=array("substr('$1', 0, MAX_LEN).'...'", " ");
       return preg_replace($patt, $repl, $text);
     }
    ?>

    oriģināls : te

     

    btw. jautājums: kā uztaisīt lai visi linki attēlotos pareizi kā linki (print out links saīsināts, bet pati saite darbotos normāli) ? :)

  11. piekritīšu des.

    piemērs

    <html>
    <title><? =$title; ?></title>
    <body>
    </body>
    </html>

    ir tāds visai mānīgs, jo NAV html atdales no php. resp - lame users samet kaut kādas kreisās komandas un vsjo. nav vairāk templates :D

    + arī kad sākās nevis parastie echo, bet kaut kas komplicētāks (dati no klasēm, funkcijas)

    neliks taču:

    <title><? escape($cls->konv_src($title))

    (funkcijas, mainīgie un klases ir izdomāti - NEPIESIETIES!!!! :) :) )

    users, kuram iespējams būs tālāk jāmodificē īsti nesapratīs, ko no viņa grib, bet likt atsevišķi iekš to php definīcijas katram $title,$name,$text būtu vispār bezjēgā nahrenizatoriski nevajadzīgi.

     

    un kā rāda pieredze - template klase nemaz tik daudz nebremzē neko. nu varbūt 0.005 - 0.01 sekundes uz normālas kastes (tie ir mani personiskie novērojumi). so nedomāju, ka tas ir liels zudums attiecībā pret smuku template klasi, kur viss smuki sadalīts pa plauktiņiem un html ir tiešām atdalīts no php :)

    paldies.

  12. Nu... Visnotaļ atkarīgs no koda :) Bet izmantot nestandarta fīčas nav ieteicams nekur un nekad.

    12450[/snapback]

     

    hehee.. nu kā atkarīgs no koda. laacz nelauzies! ;)

    piemēram elementāra forma 25 lauciņi. pārbaudam vai lauciņi ir isset/notnull un ievietojam to visu padarīšanu iekš to mysql.

     

    ok rakstot jau pats nedaudz iedomājos - sarakstam visus lauciņus, kas tiks izmantoti, masīvā un tad ņemam cauri masīvu $_POST un salīdzinam vai nav kāds nepareizais iemaldījies (kreisie kaut kādi) un metam iekšā.

    kā ar šādu variantu?

  13. Varbūt kaads var pastaastiit mazliet par template

    kaa vinjas straadaa, kaa izmantot, kaa pielietot.

    buutu labi ja arii kaadu mazinju paraudzinju paraadiitu, taadu pavisam vienkaarshu...

    paldiess jau ieprieksh

    12445[/snapback]

     

     

    ko tur daudz?

    teplates ir laba lieta, kad jāatdala PHP no HTML.

    ir html template faili kuri satur tīru html kodu + komandas, saprotamas tikai template parserim.

    piemēram

    <html>
    <title>{title}</title>
    <body>
    {teksts}
    </body>
    </html>

     

    kad parsēsi ar kādu template enginu to failu un definēsi ka {title} ir piemēram "Mana mājas lapa" un {teksts} ir "Sveiki manā mājaslapā" tad izvadīsies ārā:

    <html>
    <title>Mana mājas lapa</title>
    <body>
    Sveiki manā mājaslapā
    </body>
    </html>

     

    tāds primitīvs piemērs, bet ceru ka saprati ;)

×
×
  • Create New...