웹마짱구's 블로그

그누보드 베스트 게시물을 최근게시물 n개 중에서 추출하기

Linux/PHP : 2007/02/23 15:39


아래 함수 createTempTbl 를 /lib/common.lib.php 하단부에 삽입한다.

function createTempTbl($tempTbl, $bo_table, $latestCnt)
{
 $sql = "CREATE temporary TABLE `".$tempTbl."` (
  `wr_id` int(11) NOT NULL auto_increment,
  `wr_num` int(11) NOT NULL default '0',
  `wr_reply` varchar(10) NOT NULL default '',
  `wr_parent` int(11) NOT NULL default '0',
  `wr_is_comment` tinyint(4) NOT NULL default '0',
  `wr_comment` int(11) NOT NULL default '0',
  `wr_comment_reply` varchar(5) NOT NULL default '',
  `ca_name` varchar(255) NOT NULL default '',
  `wr_option` set('html1','html2','secret','mail') NOT NULL default '',
  `wr_subject` varchar(255) NOT NULL default '',
  `wr_content` text NOT NULL,
  `wr_link1` text NOT NULL,
  `wr_link2` text NOT NULL,
  `wr_link1_hit` int(11) NOT NULL default '0',
  `wr_link2_hit` int(11) NOT NULL default '0',
  `wr_trackback` varchar(255) NOT NULL default '',
  `wr_hit` int(11) NOT NULL default '0',
  `wr_good` int(11) NOT NULL default '0',
  `wr_nogood` int(11) NOT NULL default '0',
  `mb_id` varchar(255) NOT NULL default '',
  `wr_password` varchar(255) NOT NULL default '',
  `wr_name` varchar(255) NOT NULL default '',
  `wr_email` varchar(255) NOT NULL default '',
  `wr_homepage` varchar(255) NOT NULL default '',
  `wr_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
  `wr_last` varchar(19) NOT NULL default '',
  `wr_ip` varchar(255) NOT NULL default '',
  `wr_1` varchar(255) NOT NULL default '',
  `wr_2` varchar(255) NOT NULL default '',
  `wr_3` varchar(255) NOT NULL default '',
  `wr_4` varchar(255) NOT NULL default '',
  `wr_5` varchar(255) NOT NULL default '',
  `wr_6` varchar(255) NOT NULL default '',
  `wr_7` varchar(255) NOT NULL default '',
  `wr_8` varchar(255) NOT NULL default '',
  `wr_9` varchar(255) NOT NULL default '',
  `wr_10` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`wr_id`),
  KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
  KEY `wr_is_comment` (`wr_is_comment`,`wr_id`)
) TYPE=MyISAM;";
 
 sql_query($sql);

 $sql = "Insert Into ".$tempTbl." Select * From g4_write_".$bo_table." where wr_is_comment = 0 Order By wr_num, wr_reply Limit ".$latestCnt;

 sql_query($sql);
}


출력하고자 하는 페이지에 아래를 적당히 수정후 삽입한다.
정렬은 추천수 또는 조회수로...

$bo_table = "myBoard";
 $tempTbl = "latest";
 createTempTbl($tempTbl, $bo_table, 20);

 $sql = "select * from ".$tempTbl." where wr_is_comment = 0 Order By wr_hit Desc, wr_num, wr_reply Limit 6";
 $result = sql_query($sql);
 for ($i=0; $row=sql_fetch_array($result); $i++)
 {
      원하는 형태로 디스플레이..
}

top

Linux/PHP : 2007/02/23 15:39 Trackback ( 1 ) : Comment. : view 2215

Trackback Address :: http://jjangu.pe.kr/blog/trackback/360

  1. Tracked from 2007/02/23 15:46 DELETE

    Subject: 최근글 n개 중 베스트 게시물 추출

    이미 올라온 자료인지 모르겠으나 쓸일이 있어..검색해도 안나오길래 한번 만들어 봤습니다. 사용법은 1.아래 함수 createTempTbl 를 /lib/common.lib.php 하단부에 삽입한다 function createTempTbl($tempTbl, $bo_table, $latestCnt) { $sql = \"CREATE temporary TABLE `\".$tempTbl.\"` ( `wr_id` int(11) NOT..

Write a comment.




: 1 : ... 219 : 220 : 221 : 222 : 223 : 224 : 225 : 226 : 227 : ... 543 :