Pereiti prie turinio

kaunomanas

Patvirtinti nariai
  • Pranešimai

    1.170
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    1
  • Atsiliepimai

    100%

kaunomanas Pranešimai

  1. Tai žinoma, kad gražiau. Bet realiai tu parašei tą patį ką ir aš. Aš tik daviau pačio principo elementarų pavizdį.Tavo variante, visos užklausos pačiose funkcijose. Bet tokiu atveju turėsi kurti daug funkcijų ar nuorodų į jas: get_posts(), get_images, get_nicks, get_forums ir t.t. O jei reikės nustatyti papildomą parametrą?5?10? O jei Tavo duotoje užklausoje reikės pakeisti kelias field'ų reikšmes ir dar pusę pačios užklausos? Reikės didelę funkcija pasidaryti, kad suformuluotų normaliai užklausą iš daug įvairių parametrų, kas nėra praktiška (bent jau man taip atrodo) arba kurti begales funkcijų įvairiems variantams. Kai mano duotam variante užtenka tik pačią užklausą pakeisti ir viskas.

     

    Taip man ir neatsakei, kodėl teršiu svarbią vietą ir kodėl turi būti švaru?

    Zinoma tersi vieta jeigu nesupratai as katik tau daviau kodo pavyzdziu, jug gali get_posts perduoti masyva su parametrais, ir padaryti kiek imanoma protingesne funkcija...o jei sukuri koki nauja lauka, ar prireikia kito laiko tai paredaguoji funkcija ir dasiduri ko reikia. Beje o kaip tu igyvendintum tokius duomenu atrinkimus? gal yra ir geresniu sprendimu, pasidalink. Beje i toki uzklausu builderi nekreipk demesio cia CI navarotas, galima su pure sql lygiai ta pati daryt :D

    	function get_events($filters,$featured = null)
    {
    	$this->db->select('events.id,events.name,events.start_time,events.end_time,events.url,attend.attend_count,places.name as place_name,city.url as city_url,event_type.url as event_type_url,
    	( 6371 * acos( cos( radians(places.latitude) ) * cos( radians( city.latitude ) ) * cos( radians( city.longitude ) - radians(places.longitude) ) + sin( radians(places.latitude) ) * sin( radians( city.latitude ) ) ) ) as distance
    	');
    	$this->db->from('events');
    	$this->db->order_by("start_time", "asc"); 
    
    	if(!empty($featured))
    		$this->db->where('events.featured',$featured);
    	else
    		$this->db->where('events.featured',0);
    	$this->db->where('events.is_published',1);
    
    	if(isset($filters['radius']))
    		$this->db->having('distance <',$filters['radius']);
    
    
    	if(isset($filters['event_type']))
    		$this->db->where('event_type.url',$filters['event_type']);
    
    	if(isset($filters['city']))
    		$this->db->where('city.url',$filters['city']);
    
    	if(isset($filters['date']))
    		$this->db->like('start_time',$filters['date']);
    	else
    		$this->db->where('end_time >',date('Y-m-d H:i:s'));	
    
    	$this->db->join('attend', 'attend.event_id = events.id', 'left');
    	$this->db->join('places', 'places.id = events.place_id', 'left');
    	$this->db->join('city', 'city.id = places.city_id', 'left');
    	$this->db->join('event_type', 'event_type.id = events.type_id', 'left');
    
    	if($featured == 1)
    		$this->db->limit(10);	
    	elseif($featured == 0){
    		if($this->input->get('page')){
    			$current_page = intval($this->input->get('page'));
    			$this->db->limit($this->pagination->per_page,$this->pagination->per_page*($current_page-1));
    		}
    		else $this->db->limit($this->pagination->per_page,0);
    	}
    
    
    	$query = $this->db->get();
    	$data = array();
    	foreach ($query->result() as $row)
    	{
    		$row->image = $this->get_image($row->id);
    
    	   $data[] = $row;
    	}
    	return $data;
    
    }

     

    Jeigu prireikia tokiu sql - reiskia chujova pas tave logika.

     

    Keista kad neteko formuot tokiu sql, siaip gali but belekiek ilgesnis :)

  2. Gal gali paaiškinti, ką tu turi omeny? Nes nelabai supratau apie kokia tu vietą ir švarą kalbi.

     

    apie tokia:

     

    <?php $posts = get_posts(); ?>
    <?php foreach($posts as $key=>$item): ?>
     // some html
     <?php $images = get_images($item->id); ?>
     <?php foreach($images as $image): ?>
          // some html
     <?php endoforeach; ?> 
    <?php endoforeach; ?>
    

    grazu? o cia?

    <?php $posts = get_data ( "SELECT DISTINCT(wp_posts.ID),wp_posts.post_title,wp_posts.guid,
                    wm2.meta_value as img_link, 
                    CONCAT(wpo_su.option_value, 
    REPLACE( REPLACE( REPLACE( REPLACE(wpo.option_value,'%year%',date_format(wp_posts.post_date,'%Y')) ,
    '%monthnum%',date_format(wp_posts.post_date,'%m')) 
    ,'%day%',date_format(wp_posts.post_date,'%d')) 
    ,'%postname%',wp_posts.post_name ) ) as permalink  
                   from wp_posts 
                   LEFT JOIN 
           wp_postmeta wm1
           ON (
               wm1.post_id = wp_posts.id 
               AND wm1.meta_value IS NOT NULL
               AND wm1.meta_key = '_thumbnail_id'              
           )
      ........" ); ?>
    <?php foreach($posts as $key=>$item): ?>
     // some html
     <?php $images = get_data ( "SELECT DISTINCT(wp_posts.ID),wp_posts.post_title,wp_posts.guid,
                    wm2.meta_value as img_link, 
                    CONCAT(wpo_su.option_value, 
    REPLACE( REPLACE( REPLACE( REPLACE(wpo.option_value,'%year%',date_format(wp_posts.post_date,'%Y')) ,
    '%monthnum%',date_format(wp_posts.post_date,'%m')) 
    ,'%day%',date_format(wp_posts.post_date,'%d')) 
    ,'%postname%',wp_posts.post_name ) ) as permalink  
                   from wp_posts 
                   LEFT JOIN 
           wp_postmeta wm1
           ON (
               wm1.post_id = wp_posts.id 
               AND wm1.meta_value IS NOT NULL
               AND wm1.meta_key = '_thumbnail_id'              
           )..."); ?>
     <?php foreach($images as $image): ?>
          // some html
     <?php endoforeach; ?> 
    <?php endoforeach; ?>
    

     

     

    gal ir niekad nebus tokio ilgio uzklausos, bet as tikrai nesiusciau funkcijai per parametrus pacios uzklausos

  3. Nu aš ir nežinau ar supratau ko nori.. Bet kodėl tau toks variantas netinka?

     

     

    
    // tarkim turi sql klasę.
    public function get_data ( $tavo_uzklausa )
    {
    
    //čia atlieki visus veiksmus, kad gautum savo duomenis iš lentelės ir juos gražini kaip masyvą
    
    return $rezultatas_masyve;
    
    }
    
    // O kai reikia panaudoti
    $data = $sql -> get_data ( $tavo_uzklausa );
    
    echo $data [ 'row_name' ];
    echo $data [ 'row_name2' ];
    echo $data [ 'row_name3' ];
    echo $data [ 'row_name_ir_t_t' ]
    
    

    Visgi atskiruose puslapiuose turėsi atlikti užklausą iš naujo nebent kešuosi užklausas.

     

    o jeigu prireikia kazko tokio, t.y. ilgos uzklausos, tik tersi svarbia vieta be reikalo, tam ir skirtos funkcijos kad gautum reiksme, nesvarbu kiek vietos joje uzimtum ir kokius veiksmus joje atliktum... o iskur ta funkcija iskvieti turi but svaru.

    $data = $sql -> get_data ( "SELECT DISTINCT(wp_posts.ID),wp_posts.post_title,wp_posts.guid,
    	 wm2.meta_value as img_link, 
    	 CONCAT(wpo_su.option_value, 
    REPLACE( REPLACE( REPLACE( REPLACE(wpo.option_value,'%year%',date_format(wp_posts.post_date,'%Y')) ,
    '%monthnum%',date_format(wp_posts.post_date,'%m')) 
    ,'%day%',date_format(wp_posts.post_date,'%d')) 
    ,'%postname%',wp_posts.post_name ) ) as permalink  
    	from wp_posts 
    	LEFT JOIN 
           wp_postmeta wm1
           ON (
               wm1.post_id = wp_posts.id 
               AND wm1.meta_value IS NOT NULL
               AND wm1.meta_key = '_thumbnail_id'              
           )
       LEFT JOIN 
           wp_postmeta wm2
           ON (
               wm1.meta_value = wm2.post_id
               AND wm2.meta_key = '_wp_attached_file'
               AND wm2.meta_value IS NOT NULL  
           )
    	INNER JOIN wp_options wpo on wpo.option_name='permalink_structure' 
    	INNER JOIN wp_options wpo_su on wpo_su.option_name='siteurl' 
    			  LEFT JOIN wp_term_relationships
    			  ON wp_posts.ID = wp_term_relationships.object_id
    	LEFT JOIN wp_term_taxonomy
    			  ON wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id	  
    			  WHERE wp_term_relationships.term_taxonomy_id != '318' and  wp_term_relationships.term_taxonomy_id != '319' and wp_term_relationships.term_taxonomy_id != '81' and wp_term_relationships.term_taxonomy_id != '146' and  wp_posts.post_type = 'post' and
    					wp_posts.post_status = 'publish' and wp_term_taxonomy.taxonomy = 'category' and wp_term_taxonomy.parent != '72'
    			  ORDER BY wp_posts.post_date desc 
    			  LIMIT 5" );

  4. svarbiausia narsyklei greitis, o tuos navarotus tai turi visos narsykles per pluginsus ar po defaultu, kazko unikalaus nelabai ir yra. Seniau eile metu naudojau firefox, atrodo super narsykle buvo, ir kraudavo greit...kazkuriuo metu pabandziau chroma ir naudoju iki siolei jau nzn net 3 ar kiek metu. Siaip tenka isijungt kitas narsykles darbo reikalais,net pykina nuoju, tas pats firefoxas nu letai krauna, ir kas jam pasidare...:/ chromo isskirtinimus buvo kad kuria kiekvienam tabui nauja procesa,nzn kaip dabar kitos narsykles daro, bet manau tai ir yra pagrindine greicio priezastis. Be to chromas turi tokiu smulkmenu prie kuriu pripratau ir kartais pasigendu kazkur kitur, pvz "close tabs to the right". Nes kartais prisidarai 100 tabu, sakai ai cia jau perdaug, reik uzdaryt, o 5 pirmieji svarbus, ka daryt?

  5. Nieko nesakysiu dėl straipsnio "gerumo" ar "blogumo", bet jau kelintą kartą pastebiu vieną tokį dalyką... Kai būna koks nors straipsnis/diskusija/monologas apie programavimą, kur minimos normalios pinigų sumos kaip geriem programuotojam, visada atsiranda kruvelė pseudo-programuotojų, manančių, kad gerai moka programuot, o jiems mat tokių pinigų niekas nesiūlo ir vadina visą tai "išpustu burbalu". Chebra, jeigu išmokot suinstaliuoti wordpress'ą ir sukarpyti bei pritaikyti jam dizainą, tai dar nereiškia, kad mokate programuoti. Ir netgi jeigu jam plugin'ą sugebate parašyti, tai irgi nereiškia, kad mokate programuot. Ir su tokiomis žiniomis negalite pretenduoti į tokias algas, kurios būna aptariamos tokiuose straipsniuose.

     

    Mes neseniai irgi ieškojome gero programuotojo. Nesakysiu, kad sumos buvo 10k, bet irgi visai neblogi pinigai. Visi taip gerai moka viską, kol reikalas nedaeina iki kažkokių smulkių ir specifinių dalykų, kurie labai gerai parodo žmogaus patirtį, kurių reikia geram kandidatui, kad jam pasiūlyti gerą algą. Tada programuotojai supyksta, kaip kažkas čia minėjo, kad reikalavimus labai užkėlę programuotojams. Tai jeigu neturi pakankamai patirties, bet nori geros algos, o ne tų 2k per mėnesį, tai sėdėk ir mokykis, o ne štampuok "tinklapius" pagal vieną šabloną siūlydamas savo "pigias paslaugas" ir galvodamas, jog esi kietas programeris.

     

    P.S. Čia niekam asmeniškai nėra skirta, tik šiaip bendrai paėmus dažnai pastebimas toks dalykas.

     

    ka cia spangstu nesamones, tu nori 2k moket programuotojui kuris nemazai laiko praleido smirdedamas prie pc ir sveikata gadindamas, bet neatitinka tavo kazkokiu specifiniu normu, tu tokio niekur ir niekada nerasi... juolab bet koks juodadarbis dabar 3k gauna, o programuotojas matai 2k 3 metus sveikata gadines ir sedejas diena nakti kad ismoktu amato... spirciau ir nafik pasiusciau tokia imone iskarto ir is pasalpos gyvenciau. Tegu samdosi rusus ar indus.

  6. nes manau, jis nba cirka, laiko "vyrisku".

    taip nes nba cirkas atsirado nuo zodzio "nba circle", bei kelinys nuo zodzio ketvircio,kas kaltas del to? o siaip tai bjauru net vimdo letas, slykstus akiai komandinis euro krepsinis, nzn kaip imanoma toki bezet, nebent jaunajai kartai.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...