2013-06-26 4 views
-3

PHP에 대한 지식 없이도 몇 가지를 조정해야 프로그래머가 문제가 될 수 있습니다. 현재 모든 날짜는 2010, 2011, 2012, 2013, , 30/01/2013, 30/02/2013, 30/03/2013 주문에 표시됩니다. 두 경우 모두 순서를 바꾸고 싶습니다.게시물의 역순 정렬 PHP

여기서 어떻게 변경해야합니까? 고맙습니다.

<? 
//get last exhibition 
if($this->uri->segment(3)=="detail"){ 
$last = $this->News_model->getPostDetail($this->uri->segment(4)); 
}else{ 
$last = $this->News_model->getNewsLimit(1); 
} 
//print_r($last); 
$pictures = $this->News_model->getNewsImages($last[0]->id_news); 
?> 
<h2 class="fontface"><?php 
echo $last[0]->post_date; 
echo "<br/>"; 
echo $last[0]->news_title; ?><br/> 
<? 
if($last[0]->curator==""){ 

}else{ 
?> 
<?php echo $last[0]->curator; 
} 
?></h2> 
      <div class="grid_6 alpha"> 
      <?php 
      //print_r($last[0]); 

      echo $last[0]->news_text; 
      ?> 
      <a href="<?php echo $last[0]->external_link; ?>" target="_blank">Read text/Watch video</a> 
      </div> 

      <div class="grid_6 omega"> 
      <? 
      if(count($pictures)==1){ 
       ?> 
       <ul> 
       <? 
      }else{ 
      ?> 
      <ul id="news_slider"> 
      <? 
      } 
      ?> 

      <? 
      foreach($pictures as $img){ 
      $url = base_url()."news/".$last[0]->id_news."/".$img->file_name; 
      ?> 
      <li><img src="<?php echo $url; ?>" alt="<?php echo $last[0]->news_title; ?>" /></li> 
      <? 
      } 
      ?> 
      </ul> 
      </div> 
     <div class="clear"></div> 
<div> 

<? 
//$news = $this->News_model->getNews(); 
    if($this->uri->segment(3)=="y") 
    { 
     $y = $this->uri->segment(4); 
    }else{ 
     $y = "2013"; 
    } 
    //echo $y; 
    $total = $this->News_model->getTotalNews($y); 

    $page = 10; 
    $pages = ceil($total/$page); 
?> 

<h2 class="fontface">Previous news 
<!-- <span class="archive"><a href="<?php echo base_url('main/news/y/2012'); ?>">2012</a><a href="<?php echo base_url('main/news/y/2011'); ?>">2011</a><a href="<?php echo base_url('main/news/y/2012'); ?>">2010</a></span> --> 
<? 
$years = $this->News_model->getNewsYear(); 
foreach($years as $year) 
{ 
    ?> 
    <span class="archive"><a href="<?php echo site_url('main/news/y/'.$year->year); ?>"><?php echo $year->year; ?></a> 
    <? 
} 
?> 
</h2> 
     <ul id="full_news"> 
<? 

    for($i=1;$i<=$pages;$i++){ 
?> 
      <li> 
       <? 


       $limitstart = ($i-1)*$page; 

$news = $this->News_model->getNewsLimit_slider($limitstart,$page,$y); 


$c=0; 
foreach($news as $n){ 

       $image = $this->News_model->getNewsImagesOne($n->id_news); 

       if($image==0) 
       { 
        $url = base_url()."thumb.php?src=news/sample.png&w=300&h=99"; 
       }else{ 
        $url = base_url()."thumb.php?src=news/".$n->id_news."/".$image[0]->file_name."&w=300&h=99"; 
       } 

       switch($c) 
       { 
        case 0: 
         $class=" alpha"; 
        break; 
        case 1: 
         $class=""; 
        break; 
        case 2: 
         $class=" omega"; 
        break; 
       } 
       $name = strtolower(url_title($n->news_title,'underscore')); 
       $url_link = site_url('main/news/detail/'.$n->id_news.'/'.$name); 
       ?> 
       <div class="grid_4<?php echo $class; ?>" style="height:270px;"> 
       <img src="<?php echo $url; ?>" width="300" height="99" class="pix"/> 
       <span class="fontface"><?php echo $n->post_date; ?></span> 
       <h4 class="fontface"><?php echo $n->news_title; ?></h4> 
       <?php //echo word_limiter($n->news_text,10); ?><br/> 
       <a href="<?php echo $url_link; ?>">Read more ></a> 
       </div> 
       <? 

$c=$c+1; 
       if($c>2){ 
        $c=0; 

       } 
} 
       ?> 
      </li> 
<? 
     } 
     ?> 

      </ul> 
     <div class="clear"></div> 

</div> 
+0

그래서 ... 우리는 어떤 프레임 워크를 사용하고 있는지 추측해야합니다. 그 날짜가 저장되는 방식을 추측하고, (데이터베이스 결과) 정렬을 제어하기위한 프레임 워크에서 어떤 기능을 사용할 수 있는지 생각해보십시오. –

+2

나는 이것을 위해 프리랜서 프로그래머를 찾으려고하는 것이 좋습니다. – Pitchinnate

+0

나는 이것이 너에게 무시당하는 것 같아. 제시카가 나를 도울 수있었습니다. –

답변

0

"foreach"루프는 컬렉션의 순서를 보장하지 않습니다. 대신에 for-loop를 사용해보십시오. 순서가 잘못되면 방향을 반대로하십시오. PHP에서 for-loops를 작성하는 방법은 다음과 같습니다. PHP array printing using a loop

0

년을 반대로하려면 간단히 array_reverse 행을 추가하면됩니다.

$years = $this->News_model->getNewsYear(); 
$years = array_reverse($years); 
foreach($years as $year){ 

두 번째 부분에서는 역순으로 말하기가 어렵습니다.

+0

감사합니다! 그게 효과가! 세월이 바뀌 었습니다. 두 번째 부분은 링크를 게시해야합니다 http://www.tkgaleria.com/index.php/main/news 뉴스 게시물은 최신순으로 역순으로 정렬되어야합니다. 다시 감사합니다. –

+0

실제로, 나는 PHP에 대해 전혀 모른다하더라도 같은 로직을 따르는 추가 작업을 시도했지만 효과가있었습니다! 고맙습니다!!! $ news = array_reverse ($ news); –

+0

이제 잃어버린 유일한 것은 가장 오래된 이벤트가 아닌 최신 이벤트 인 슬라이드를 수정하는 것입니다. 고마워, 제시카. –