Jump to content
php.lv forumi

Rincewind

Reģistrētie lietotāji
  • Posts

    299
  • Joined

  • Last visited

Posts posted by Rincewind

  1. PHP way:

     

    <p class="pagination">
    
       <?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 ?>
    
       <?php if ($previous_page !== FALSE): ?>
           <a href="<?php echo $page->url($previous_page) ?>" rel="prev"><?php echo __('Previous') ?></a>
       <?php else: ?>
           <?php echo __('Previous') ?>
       <?php endif ?>
    
       <?php for ($i = 1; $i <= $total_pages; $i++): ?>
    
           <?php if ($i == $current_page): ?>
               <strong><?php echo $i ?></strong>
           <?php else: ?>
               <a href="<?php echo $page->url($i) ?>"><?php echo $i ?></a>
           <?php endif ?>
    
       <?php endfor ?>
    
       <?php if ($next_page !== FALSE): ?>
           <a href="<?php echo $page->url($next_page) ?>" rel="next"><?php echo __('Next') ?></a>
       <?php else: ?>
           <?php echo __('Next') ?>
       <?php endif ?>
    
       <?php if ($last_page !== FALSE): ?>
           <a href="<?php echo $page->url($last_page) ?>" rel="last"><?php echo __('Last') ?></a>
       <?php else: ?>
           <?php echo __('Last') ?>
       <?php endif ?>
    
    </p><!-- .pagination -->

     

    Mustache way:

     

    <p class="pagination">
    {{#items}}
    {{#url}}<a href="{{url}}" {{#title}}rel="{{rel}}"{{/title}}>{{/url}}{{#num}}<strong>{{/num}}{{name}}{{#num}}</strong>{{/num}}{{#url}}</a>{{/url}}
    {{/items}}
    </p>

     

    Kaut vai koda garums, ko redz dizaineris. Vienkārši, vieglāk pēc tam visu būs uzturēt!

    Kas tad tas? Ja PHP iedod to pašu masīvu kuru dod tam Mustache tad tak sanāks šitā:

    <?php foreach($items as $i):?>
       <a href="<?php echo $i['href']?>"...</a>
    <?php endforeach;?>

  2. Ja tiek uzklikots jebkur, kur nav izvēle un izvēle ir atvērta, tad aizvērt izvēlni ciet.

    Bet tam jau laikam vajadzīgs kaut kāds globāls eventu apstrādātājs, es tādus nekad neesmu veidojis. Neliks tak katrā eventa apstrādātājā atsevišķu pārbaudi vai kaut kas tur ir atvērts.

  3. Sveiki!

    google izēlnes labajā pusē ir opcijas poga, uzspiežot viņas atveras takatāds popup kur iekšā ir linki. Varbūt kāds zin kur ir kāds tuteriālis prekš kaut kā tāda?

     

    Paldies jau iepriekš!

    Kas nu tur par tutoriāļiem. Tādu normāli ir taisīt kā parastu <ul> un uz klikšķa ar js mainīt viņam show/hide. Vienīgi nezinu kā tur google uztaisīts hide uz klikšķa citā lapas vietā.

  4. Datus ģenerēt nemaz nav grūti. Reku piemērs no mana koda:

    public function actionRandomUsers(){
    $names=array('Eriks','Jānis','Juris','Imants','Pauls','Alberts','Uldis','Miervaldis','Ernests',
    	'Rūdolfs','Fricis','Māris','Aleksandrs','Alfreds','Roberts','Arturs','Andris','Valdis','Atis','Kārlis');
    $last_names = array('Ādamsons','Akuraters','Bankovskis','Barons','Bels','Birznieks-Upītis',
    	'Blaumanis','Brīvzemnieks','Čaklais','Čaks','Eglītis','Grīns','Jaunsudrabiņš',
    	'Kolbergs','Lācis','Pumpurs','Skalbe','Sudrabkalns','Vācietis','Ziedonis');
    $emails=array('@inbox.lv','@gmail.com');
    
    for($i=0;$i<200;$i++){
    	$user = new User();
    	$user->first_name=$names[array_rand($names)];
    	$user->last_name=$last_names[array_rand($last_names)];
    	$user->email=$user->first_name.'.'.$user->last_name.$emails[array_rand($emails)];
    	$user->phone=rand(11111111,99999999);
    	$user->type=1;
    	$user->save();
    }
    }

    Uztaisi sev lielāku vārdu masīvu un ņem pa kādiem 20 random vārdiem katram tagam, būs gana unikāls saturs.

  5. Kaut ko līdzīgu esmu taisījis.

    Domu gājiens bija tāds ka ātrdarbība pie komentāra ievietošanas nav tik svarīga kā pie nolasīšanas. Strādā ar neierobežotiem līmeņiem. Detaļās īpaši neiedziļināšos, aprakstīšu vispārīgi.

     

    Tabula:

    id

    topic_id

    comment

    level

    display_order

     

    Piemērs:

    1	1	Komentārs_1		0	1
    2	1	Atbilde_1_1		1	2
    3	1	Atbilde_1_2		1	3
    4	1	Atbilde_1_2_1 		2	4
    5	1	Komentārs_2		0	5
    6	1	Komentārs_3		0	6
    7	1	Atbilde_3_1		1	7

     

    Ja atbilde uz topiku tad pie inserta level = 0 un display_order = MAX(display_order topikam)+1

    Ja atbilde uz komentu tad:

    Skatamies komentāra uz kuru atbild id un iegūstam viņa level un display_order

    UPDATE tabula SET display_order = display_order+1 WHERE display_order>$display_order AND topic_id=$topic_id
    INSERT .... level=$level+1 ... display_order = komentāra display_order + 1 ...
    

    Atbilstoši selekts ir:

    SELECT FROM tabula WHERE topic_id=$topic ORDER BY display_order LIMIT cik nu vajag

     

    Īsumā tā.

    Trūkums tāds ka nevar selektu limitēt pēc augšējā līmeņa komentāriem. Vai var?

  6. ====

    UPDATED:

     

    Kā panākt, lai veicot rand() vins vienu skaitli neaktarto 2 reizes?

    Nekā, rand() tam nav paredzēts.

    Bet var uztaisīt random masīvu.

     

    $random = range(1, 30);
    shuffle($random);
    print_r($random);

  7. Ja godīgi, tad tavs paša komentārs nav diez ko labāks. Ja jau neesi iedziļinājies funkcionalitātē, tad kāpēc vispār sauc ciparus un mulsini tautu?

    Labāks par ko? Pamatfīčas, db un koda struktūra ir aptuveni skaidra uzreiz, sīkāk iedziļināties specfīčās tikai lai atbildētu uz foruma jautājumu jēgu neredzu. Ciparus no-līdz nosaucu, konkrētāk neiedziļinoties nosaukt nevaru. Pret ko pretenzijas?

  8. Jocīgi ka te vēl nav izvērsusies drāma un neviens nav pieprasījis 50% no ienākumiem, dzīvokli kur nauda guļ un auto ar šoferi.

    Saprogrammēt back-end man izskatās uz 1000-1500Ls (saita funkcionalitātē neiedziļinājos, cipars ļoti aptuvens, +/- 50%), darbs kādas četras nedēļas. +dizainerim figviņzin cik.

×
×
  • Create New...