2013-07-20 1 views
-1

나는 PHP와 Yii 프레임 워크를 사용하여 아카이브 목록 (WP 웹 사이트의 것과 거의 동일한 기능)을 작성해야합니다. 나는 이것을 어떻게 많이 성취 할 수 있었는지 생각해 보았고 유용하지 않은 것을 생각해 왔기 때문에 여기서 당신의 도움을 요청하고 있습니다. 열 : 아이디 (INT AI, 주) 제목 (VARCHAR) 내용 (텍스트) CREATION_DATE (타임 스탬프)순수 PHP 및 yii로 게시물 아카이브를 만드시겠습니까?

가 어떻게 타임 스탬프 열을 사용할 수 그래서 예를 들어, MySQL의 테이블은 다음과 같을 것 값을 사용하여 게시 된 별개의 달에있는 게시물 만 선택합니다 (해당 달에 게시 된 모든 게시물을 나열 할 해당 아카이브 페이지에 대한 링크로 나열해야하는 달을 결정할 수 있도록)?

Btw, 오직 PHP로하는 법을 배우는 것만으로도 충분하다. 컨트롤러가 없기 때문에 Yii와 코드 작업을하기 위해 노력할 필요가 없다. 분명히 불가능하다. 모델 등 :)

답변

0

내 질문에 투표 한 사람에게, 당신은 정말 도움이되었다. 나는 이런 종류의 웹 사이트에도 싫어하는 존재가 있다고 생각합니다. 슬픈 일입니다. 어쨌든, 그것들에 관한 것, 여기 내가 전에 존재하지 않았던 새로운 MySQL 함수를 배워서 오늘 내가 생각해 낸 것입니다 :) MySQL DATE_FORMAT(date_column,'%format')을 사용하여 원하는 월, 일, 일 또는 기타를 선택할 수 있습니다 날짜가 유닉스 타임 스탬프 인 경우에도 날짜의 "부분". 이것은 주위를 둘러 보면서 간단한 코드를 작성한 것입니다. 이 코드가 무엇

$query = "SELECT DISTINCT DATE_FORMAT(creation_date,'%M') as creation_month, DATE_FORMAT(creation_date,'%Y') as creation_year FROM posts"; 
$result = $connection->query($query); 

if($result) { 
    while($row = $result->fetch_assoc()) { 
     $archiveArray[] = $row; 
    } 
    print_r($archiveArray); 

    echo '<h3>Our Archives by month</h3>'; 
    echo '<ul>';?> 

    <?php foreach($archiveArray as $archiveRecord) : ?> 
     <li> 
      <a href=""><?php echo $archiveRecord['creation_month'] . ' ' . $archiveRecord['creation_year']; ?></a>  
     </li> 
    <?php endforeach; 
    echo '</ul>'; 

} 

은 PHP 날짜 유사한 %의 M 및 % Y (의해 지정된 원하는 "포맷"안에 넣는다 상기 DB에서 "CREATION_DATE '항목에서 타임 스탬프를"판독 "이고() 함수를 formating) craetion_month 및 creation_year라는 이름으로 날고있는 비상 열 이름에 할당됩니다. 특정 달의 각 게시물에 대해 개월을 반복하지 않으려면 DISTINCT를 선택하십시오. 그 다음에는 정렬되지 않은 목록에 앵커로 나열합니다. 이것은 주된 문제 였고 나머지는하기 쉽습니다.