Jump to content
php.lv forumi

john.brown

Reģistrētie lietotāji
  • Posts

    510
  • Joined

  • Last visited

Posts posted by john.brown

  1. lai nevarētu tik pie jauna_zinja2.php kā savādāk, kā tikai caur includi no admin.php, var darīt tā: iekš admin nodefinē kādu globālu variabli vai konstanti, un iekš jauna_zinja2.php sākumā pārbaudi, vai viņa ir definēta, ja nav - exit :)

     

    admin.php

    define('IS_INCLUDE',true);

    jauna_zinja2.php

    if(! defined('IS_INCLUDE')) exit;

  2. Ar str_replace() gan diez vai. Ja nu vienīgi vesalas frāzes mainīt, jo frāzes uzbūve dažādās valodās var būt dažāda. Bet tas nebūs ērtāk...

     

    Es lieku failiņā ierakstus tipa:

    Mans teikums|Мое предложение

    Pēc tam sadalu masīvā, kur pirmā daļa ir atslēga, otrā - frāze vajadzīgajā valodā... Nu apm. tāpat , kā tavā pirmajā piemērā

  3. Tu sakarīgi pastāsti, kas viņu atjauno... No tā varētu būt atkarīgs risinājums :)

    to var ar cronu palaižot kādu skriptu noteiktos laikos kas vai nu tikai kopē, vai arī palaiž atjaunotāju un pēc tam kopē. Vai raksti demonu, kas cheko, vai fails ir atjaunots, un ja ir - kopē...

  4. Lai uztaisītu array_reverse piemēram, tu nevērsies ne pie kāda objekta it kā

    Procedūru gadījumā, protams :)

    OOP kocepcijas gadījumā, masīvs būs kāda objekta īpašība, cit. vārdiem, būs iekš objekta. Un viņu reversēt tev vajag caur objekta metodi: $obj->my_array_reverse('array_name')

    Apmēram tā...

    Iekš PHP normāli var veidot OOP kodu pat 4., protams atceroties par dažiem atbalsta ierobežojumiem...

  5. Jā, dotajā gadījumā ar datasetu biju domājis rindiņu, atvainojos par neprecizitāti.

    Sarežģīti, var būt... Tagad es to kārtoju ar skript, tak tā while() kļutu reizes īsāks un pati kārtošana prastāka. Bet ja ne, ne... Lai paliek kā ir :)

    Vot sāku domāt, varbūt tiešām vienkāršāk...

     

    Nē, nekā nebij, neiznāk vienkāršāk. Man vajadzētu minimāli dabūt t1.cat_id,t1.image, t2.title, t2.desc priekš vienas lng vērtības, un visas lng vērtības priekš cat_id.

  6. jā, viss ir jauki, tik tā viņš atgiež tik datasetus cik ierakstu tabulā divi priekš katra cat_id. Tak jauki būtu to sabāzt vienā datasetā (tipa daudzmēru masīva), un pavisam skaisti, sašķirot pēc viena no tabulas 2 lauciņiem rindām ar noteiktu lng, tipa ORDER BY t2.title WHERE lng='lv'... (tik domas ilustrācijai)

    Ir tas iespējams?

  7. Nu re, šitā iet:

    $this->bar[] = $b;
    $a = & $this->bar[count($this->bar) -1];

    Tak tas notiek ciklā , un katru reizi izsaukt count() negribās.

    Pēc loģikas šitam ar vajadzētu iet: $a = & $this->bar[] = $b; Tak nekā, syntax error:unexpected "=" in line...

    Kāds var ko ieteikt?

  8. Ir divas tabulas:

     

    cat_id | parent_id | image

     

    cat_id | lng | title | desc

     

    Pirmajā tabulā katrs cat_id ir unikāls, otraja - cat_id+lng uninikāli. Gribētos ar vienu selectu dabūt ārā ierakstu no pirmās tabulas un visus ierakstus ar doto cat_id no otrās. Pašam galvā ir tik variants ar diviem selectiem :(

  9. bubu, nu bet pareizi! Kā tu domā, ko šitā html rindiņa '<?xml version="1.0" encoding="utf-8"?> ' izdos, ja būs short_open_tags = on? Droši vien, ka kļūdu :) Un viss būs ok, ja short_open_tags = off. Kodu ta viņš rakstīja normāli, ar off. Un tāpēc šinī gadījumā uzlikt test mašinai off un priecāties, ka viss iet nevar. Nebūs nekāds 'redistributable code', ja ,šo rindiņu nerakstīs caur echo...

    Ja kas, pats augstāk piedāvāji pareizu risinājumu šim trablam...

  10. Bet viņš jau arī neizmantoja short :) Problēma ar xml`a paziņošanu radās short_open on dēļ. Tak daudziem hosteriem viņi ir on. Tā ka tik ar .htaccess mainīt... Vai droš paliek droš rakstīt echo '<?xml..

  11. kas te ko nesaprast. Tie ir divi veidi, kā uzrakstīt vienu un to pašu. Vēl viens x neuzrodas. Izteiksme x+y tiek apstrādāta pirms x = kaut ko. To var iedomāties kā: saskaitam, rezultātu saglabājam kādā virtuālā variablī, kuru pēc tam piesavinam x`am. Tas nenozīmē, ka tiešām rodas kaut kāds jauns variablis, tik tā vieglāk saprast

  12. Dizainu pilnīgi noteikti vajag novērtēt, un vajadzības gadījumā korektēt. Neveiksmīgs dizains var dzīvi uz kādu laiku padarīt par murgu.

    Normāli strādājot kopā ar dizaineri jāskatās, kā var izmantot pēc iespējas esošos moduļus, japadomā, kā palielināt iespējamo viewu variantus moduļiem, lai tie derētu dažādiem dizainiem, to biš, jācenšas maksimāli izmantot esošo kodu. Tad lapas veidošana aizņem minimālu laiku un darbu...

    Diemžēl bieži atnāk ar gatavu dizainu, kuru nu nekādi mainīt vairs nevarot, un nākas izgudrot velosipēdu...

    Tāda pat nozīme ir saita struktūrai. Jo tuvāk viņu izdodas piedzīt esošā koda iespējām, jo viss notiek ātrāk.

    Tas nenozīmē, ka programmeris vienreiz ko uzraksta, un tad vairāk nekā nedara, tik visus dresē pa savam. Procesam jābūt abpusējam, tad viss rullē :)

  13. Nav īsti skaidrs priekš kam tev divi mainīgi: $i un $count. šitā tak vienkāršāk laikam būs:

    <?php
    
    $i = 1;
    while ($i < 6) {
    
    if (file_exists( 'pic/'.$i.'.jpg')) {
    	echo '<td><img src="pic/'.$i.'.jpg"></td>';		
    }
    $i++;
    };
    ?>

    Bez tam pievērs uzmanību pēdiņu izvietojumam...

  14. Man nez kāpēc viņš visu izpilda.

    <?php
    $data = $_FILES['fails']['name'];
    $empty = 0;
    foreach($data as $fname) {
    if(empty($fname)) $empty++;
    }
    if($empty == count($data)) echo 'Visi tuksi!';
    ?>

  15. Vai tiešām pašam domāt slinkums!

    <?php
    $data = $_REQUEST['lauks'];
    $empty = 0;
    foreach($data as $lauks) {
    if(empty($lauks)) $empty++;
    }
    if($empty == count($data)) echo 'Visi tuksi!';
    ?>

    Tavā gadījumā gan jāpārbauda $_FILES

  16. tev ir ne rmdirr($dir), bet rmdir($dir) :)

    Tas, ko Klez tev iedeva saitē, ir rekursīva funkcija, kura papriekš iztīra vajadzīgo folderi no visa, kas tanī iekšā, un tad aizvāc arī pašu folderi. Tur ar tā atšķirība...

    Ar vienu vārdu sakot, liec visu to kodu kaut kur savā skriptā, un tad izsauc rmdirr($dir), un viss notiks ;)

×
×
  • Create New...