별점 결과를 별도 페이지에 띄우기 정보
별점 결과를 별도 페이지에 띄우기
본문
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=75275&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EB%B3%84%EC%A0%90&sop=and
말러님의 별점에드온을 이용하고 있습니다.
하루하루의 별점 결과를 별도의 페이지에 저장 하려고 합니다.
view.skin.php 적당한 위치에 <?include_once("$board_skin_path/_m3rating.php");?>를 넣어서 별점을 게시판 안에 띄우는건 이상이 없습니다. 추가로, 이것을 게시판이 아닌 임의로 만든 noname.php(htm) 페이지(파일)에 출력 하려고 합니다. 그러나 똑같은 방법으론 안되네요..
include_once나 어떤방법으로든 별도 페이지에 별점 결과를 저장하려면 어떻게 해야 할까요?
경로 문제라 생각되어 살펴보고 수정해봐도 해결책이 안보이네요. 조언좀 부탁드립니다.
그누보드 접한지 얼마 안되서 궁금한데, skin/board/ 이하 php파일에 직접 주소쳐서 들어가면 안뜨던데 뜨게 하려면 어떻게 해야하나요?
if (!defined("_GNUBOARD_")) exit;
가 없는 m3rating.php파일도 빈 페이지가 뜨네요
에러메시지: (line4는<?include_once("$board_skin_path/_m3rating.php");?> 입니다.
Warning: include_once(/_m3rating.php) [function.include-once]: failed to open stream: No such file or directory in /home/wasgood/public_html/skin/board/basic_test2/leebg.php on line 4
Warning: include_once() [function.include]: Failed opening '/_m3rating.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/wasgood/public_html/skin/board/basic_test2/leebg.php on line 4
_m3rating.php 코드 입니다.
<?// m3rating 별점 매기기 모듈 ver 1.10
// 딱 한번 실행할 코드 (m3rating 테이블이 생성되면 지우셔도 됩니다)
$sql = "CREATE TABLE IF NOT EXISTS `m3rating` (
`gr_id` varchar(255) NOT NULL,
`bo_table` varchar(255) NOT NULL,
`wr_id` varchar(255) NOT NULL,
`star_average` float NOT NULL,
`star_data` text NOT NULL,
`star_list` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
sql_query($sql);
// 별점 내용 가져오기
$sql = "select star_average, star_data from `m3rating` where bo_table='$bo_table' AND wr_id='$wr_id'";
$rating = sql_fetch($sql);
if($rating) {
$rating_count = sizeof(explode(",", $rating[star_data]));
$rating_average = sprintf("%.1f", $rating[star_average]);
}
else {
$rating_count = 0;
$rating_average = "0.00";
}
?>
<style>
#m3rate {border-collapse:collapse; margin:0; padding:0; border:0; display:inline;}
#m3rate img {margin:0; padding:0; border:0;}
</style>
<div id="m3rate"><span onMouseOut="m3rate_o()">
<?for($i=1;$i<=floor($rating_average);$i++) {?><img id="m3rate_img<?=$i?>" src="<?=$board_skin_path?>/img/s<?=$i%2?"1":"2"?>1.png" onMouseOver="m3rate_o('<?=$i?>')" title="<?=$i?>" onClick="m3rate_c('<?=$i?>')" /><?}?>
<?for($i=floor($rating_average)+1;$i<=10;$i++) {?><img id="m3rate_img<?=$i?>" src="<?=$board_skin_path?>/img/s<?=$i%2?"1":"2"?>0.png" onMouseOver="m3rate_o('<?=$i?>')" title="<?=$i?>" onClick="m3rate_c('<?=$i?>')" /><?}?></span>
<span id="m3rate_comment"><?=$rating_average?> (<?=$rating_count?>명)</span>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
var m3rate_commentarr = Array('쓰레기!', '필요 없음', '뭐야 이거', '별로네', '딱 중간이야', '나쁘지 않아', '쓸만해', '좋네요~', '아주 좋아', '10점 만점!');
var m3rate_commentdefault = '<?=$rating_average?> (<?=$rating_count?>명)';
var n = parseInt(<?=$rating_average?>);
function m3rate_o(r) {
var r_int = parseInt(r);
// 리셋
if(!r) {
for(i=1; i<=n; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s11.png';
else sr = '<?=$board_skin_path?>/img/s21.png';
document.getElementById('m3rate_img'+i).src = sr;
}
for(i=n+1; i<=10; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s10.png';
else sr = '<?=$board_skin_path?>/img/s20.png';
document.getElementById('m3rate_img'+i).src = sr;
}
document.getElementById('m3rate_comment').innerHTML = m3rate_commentdefault;
}
// 별 그려줌
else {
for(i=1; i<=r_int; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s11.png';
else sr = '<?=$board_skin_path?>/img/s21.png';
document.getElementById('m3rate_img'+i).src = sr;
}
for(i=r_int+1; i<=10; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s10.png';
else sr = '<?=$board_skin_path?>/img/s20.png';
document.getElementById('m3rate_img'+i).src = sr;
}
document.getElementById('m3rate_comment').innerHTML = m3rate_commentarr[(r_int-1)];
}
}
function m3rate_c(star) {
jQuery.ajax({
type: "POST",
url: "<?=$board_skin_path?>/__m3rating_update.php",
data: "gr_id=<?=$board[gr_id]?>&bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&star="+star,
success: function(msg){
alert( msg );
}
});
}
</script>
말러님의 별점에드온을 이용하고 있습니다.
하루하루의 별점 결과를 별도의 페이지에 저장 하려고 합니다.
view.skin.php 적당한 위치에 <?include_once("$board_skin_path/_m3rating.php");?>를 넣어서 별점을 게시판 안에 띄우는건 이상이 없습니다. 추가로, 이것을 게시판이 아닌 임의로 만든 noname.php(htm) 페이지(파일)에 출력 하려고 합니다. 그러나 똑같은 방법으론 안되네요..
include_once나 어떤방법으로든 별도 페이지에 별점 결과를 저장하려면 어떻게 해야 할까요?
경로 문제라 생각되어 살펴보고 수정해봐도 해결책이 안보이네요. 조언좀 부탁드립니다.
그누보드 접한지 얼마 안되서 궁금한데, skin/board/ 이하 php파일에 직접 주소쳐서 들어가면 안뜨던데 뜨게 하려면 어떻게 해야하나요?
if (!defined("_GNUBOARD_")) exit;
가 없는 m3rating.php파일도 빈 페이지가 뜨네요
에러메시지: (line4는<?include_once("$board_skin_path/_m3rating.php");?> 입니다.
Warning: include_once(/_m3rating.php) [function.include-once]: failed to open stream: No such file or directory in /home/wasgood/public_html/skin/board/basic_test2/leebg.php on line 4
Warning: include_once() [function.include]: Failed opening '/_m3rating.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/wasgood/public_html/skin/board/basic_test2/leebg.php on line 4
_m3rating.php 코드 입니다.
<?// m3rating 별점 매기기 모듈 ver 1.10
// 딱 한번 실행할 코드 (m3rating 테이블이 생성되면 지우셔도 됩니다)
$sql = "CREATE TABLE IF NOT EXISTS `m3rating` (
`gr_id` varchar(255) NOT NULL,
`bo_table` varchar(255) NOT NULL,
`wr_id` varchar(255) NOT NULL,
`star_average` float NOT NULL,
`star_data` text NOT NULL,
`star_list` text NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
sql_query($sql);
// 별점 내용 가져오기
$sql = "select star_average, star_data from `m3rating` where bo_table='$bo_table' AND wr_id='$wr_id'";
$rating = sql_fetch($sql);
if($rating) {
$rating_count = sizeof(explode(",", $rating[star_data]));
$rating_average = sprintf("%.1f", $rating[star_average]);
}
else {
$rating_count = 0;
$rating_average = "0.00";
}
?>
<style>
#m3rate {border-collapse:collapse; margin:0; padding:0; border:0; display:inline;}
#m3rate img {margin:0; padding:0; border:0;}
</style>
<div id="m3rate"><span onMouseOut="m3rate_o()">
<?for($i=1;$i<=floor($rating_average);$i++) {?><img id="m3rate_img<?=$i?>" src="<?=$board_skin_path?>/img/s<?=$i%2?"1":"2"?>1.png" onMouseOver="m3rate_o('<?=$i?>')" title="<?=$i?>" onClick="m3rate_c('<?=$i?>')" /><?}?>
<?for($i=floor($rating_average)+1;$i<=10;$i++) {?><img id="m3rate_img<?=$i?>" src="<?=$board_skin_path?>/img/s<?=$i%2?"1":"2"?>0.png" onMouseOver="m3rate_o('<?=$i?>')" title="<?=$i?>" onClick="m3rate_c('<?=$i?>')" /><?}?></span>
<span id="m3rate_comment"><?=$rating_average?> (<?=$rating_count?>명)</span>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript">
var m3rate_commentarr = Array('쓰레기!', '필요 없음', '뭐야 이거', '별로네', '딱 중간이야', '나쁘지 않아', '쓸만해', '좋네요~', '아주 좋아', '10점 만점!');
var m3rate_commentdefault = '<?=$rating_average?> (<?=$rating_count?>명)';
var n = parseInt(<?=$rating_average?>);
function m3rate_o(r) {
var r_int = parseInt(r);
// 리셋
if(!r) {
for(i=1; i<=n; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s11.png';
else sr = '<?=$board_skin_path?>/img/s21.png';
document.getElementById('m3rate_img'+i).src = sr;
}
for(i=n+1; i<=10; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s10.png';
else sr = '<?=$board_skin_path?>/img/s20.png';
document.getElementById('m3rate_img'+i).src = sr;
}
document.getElementById('m3rate_comment').innerHTML = m3rate_commentdefault;
}
// 별 그려줌
else {
for(i=1; i<=r_int; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s11.png';
else sr = '<?=$board_skin_path?>/img/s21.png';
document.getElementById('m3rate_img'+i).src = sr;
}
for(i=r_int+1; i<=10; i++) {
if(i%2) sr = '<?=$board_skin_path?>/img/s10.png';
else sr = '<?=$board_skin_path?>/img/s20.png';
document.getElementById('m3rate_img'+i).src = sr;
}
document.getElementById('m3rate_comment').innerHTML = m3rate_commentarr[(r_int-1)];
}
}
function m3rate_c(star) {
jQuery.ajax({
type: "POST",
url: "<?=$board_skin_path?>/__m3rating_update.php",
data: "gr_id=<?=$board[gr_id]?>&bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&star="+star,
success: function(msg){
alert( msg );
}
});
}
</script>
댓글 전체
<?include_once("$board_skin_path/_m3rating.php");?> 만 넣으면 $board_skin_path 값을 불러올수없으니 공통설정을 불러옵니다
<?//팝업띠울때 주소는 no_name.php?bo_table=게시판아이디&wr_id=게시물번호 를 붙여줘야겠죠
include "_common.php";
include_once("$board_skin_path/_m3rating.php");
?>
<?//팝업띠울때 주소는 no_name.php?bo_table=게시판아이디&wr_id=게시물번호 를 붙여줘야겠죠
include "_common.php";
include_once("$board_skin_path/_m3rating.php");
?>

페브리즈님 답변주셔서 정말 감사합니다.
만약 leebg.php파일, 게시판아이디b04, 게시물번호가 3일때 이렇게 추가하면 된다는 말씀이신가요? 제가 어디서 실수를 했는지 에러가 나네요
<?
include "_common.php";
include_once("$board_skin_path/_m3rating.php");
include_once("$board_skin_path/_leebg.php?bo_table=b04&wr_id=3");
?>
만약 leebg.php파일, 게시판아이디b04, 게시물번호가 3일때 이렇게 추가하면 된다는 말씀이신가요? 제가 어디서 실수를 했는지 에러가 나네요
<?
include "_common.php";
include_once("$board_skin_path/_m3rating.php");
include_once("$board_skin_path/_leebg.php?bo_table=b04&wr_id=3");
?>