박갑성님이 올리신 자료를 가지고 관리자 모드에서 팝업창을 생성시킬수 있게 테이블과 폼을 만들었습니다. 그런데... ㅡㅡ;; > 그누3질답

그누3질답

박갑성님이 올리신 자료를 가지고 관리자 모드에서 팝업창을 생성시킬수 있게 테이블과 폼을 만들었습니다. 그런데... ㅡㅡ;; 정보

박갑성님이 올리신 자료를 가지고 관리자 모드에서 팝업창을 생성시킬수 있게 테이블과 폼을 만들었습니다. 그런데... ㅡㅡ;;

본문

그누보드4를 사용하고 있는데요

관리자 모드에서 팝업창을 생성시키는 기능을 구현하려고 테이블과 폼을 만들어봤습니다.

관리자 모드에서 팝업창 내용을 등록하는건 되는데 등록한 내용을 사이트 메인에 접속했을때 

팝업창을 자동으로 생성시키는 부분에서 막히네요

그누보드3 팁앤테크에 길선아버님이 올린 팝업관리를 박갑성님이 버전업하신걸 가지고 적용해 봤습니다.

제가 보기엔 대충 맞을꺼 같은데 이해를 못하는 부분이 있어서 그런지 ㅡㅡ;;;

테이블 값을 불러와서 팝업창 생성여부를 확인하고 창을 띠우는 것 까지는 되는데

그다음에 값을 불러 오지 못하고 계속 for문만 무한 반복하네요

의견이나 해결방안을 달아 주시면 정말 ㅡㅜ 고맙겠습니다.

우선 디비 테이블은 아래와 같구요 내용은 보시면 다 아시겠지만

제목, 내용, 이동 링크 주소, 그리고 팝업 생성 날짜와 끝나는(?) 날짜, 그리고 이미지로도 올릴수 있게 짜봤습니다. 마지막엔 사용 여부입니다.

CREATE TABLE `g4_popup` (
`pop_id` INT( 11 ) NOT NULL auto_increment,
`pop_subject` VARCHAR( 255 ) NOT NULL ,
`pop_contents` TEXT NOT NULL ,
`pop_link` TEXT NOT NULL ,
`pop_date` DATE DEFAULT '0000-00-00' NOT NULL ,
`pop_end_date` DATE DEFAULT '0000-00-00' NOT NULL ,
`pop_file` VARCHAR( 255 ) NOT NULL ,
`pop_use` ENUM( 'Y', 'N' ) DEFAULT 'Y' NOT NULL ,
PRIMARY KEY ( `pop_id` )
);


그리고 다음은 박갑성님이 팁앤테크에 올리신 자료인데요

박갑성님은 그누보드 3에서 게시물등록시 공지사항 체크 박스를 체크하면 그 내용이 사이트 메인에 접속했을때 검색되어서 팝업창으로 뜨도록 만드셨더군요

그래서 저는 박갑성님이 올리신 내용을 제가 만든 팝업테이블에서 검색해서 팝업으로 뜨도록

select 할 테이블을 위에 만든 g4_popup 테이블로 하고 pop_use 값이 Y 인 값만 select해서 그 값을 for문으로 돌려 여러개의 팝업창을 관리 할수 있도록 생각을 했습니다.



아래는 팝업창 생성을 위해 만든 파일입니다.
물론 길선아버님과 박갑성님이 올리신 내용입니다. 제가 수정한거라곤 테이블명 정도 밖에는 없습니다. ㅡㅡ;;



popup.lib.php 내용

그누보드 3가 g4와 테이블구조나 디렉토리 구조가 달라서 /extend 폴더에 popup.lib.php화일을 만들어 넣었습니다.

메인에서 테이블명, 폭, 높이를 받아

for문을 돌려서 window.open(까지는 되는건 같은데 그다음에 값을 못넘겨 줘서 그런지 계속 for문만 무한 반복됩니다.  ㅡㅡ;;


function open_popup($popup_board = '', $x_width, $y_height){
global $cfg, $gnu_path, $HTTP_COOKIE_VARS;

$sql_popup = " SELECT * FROM $popup_board WHERE pop_use = 'Y' ";
$result_popup = sql_query($sql_popup);

for ($i = 0, $popup_no = 1; $row_popup = mysql_fetch_array($result_popup); $i++, $popup_no++ ) {
if($i > 1){
$top_m = $i * 30;
$left_m = $i * 30;
} else {
$top_m = $i * 0;
$left_m = $i * 400;
}

if(!$HTTP_COOKIE_VARS[popnews.$row_popup[pop_id]] || ($HTTP_COOKIE_VARS[popnews.$row_popup[pop_id]] != "no")) {
echo"
<SCRIPT LANGUAGE=\"JavaScript\">
<!--
window.open('./?doc=include/popup_view.php&bo_table=$popup_board&pop_id=$row_popup[pop_id]','popup_no$i', 'scrollbars=no,status=yes,resizable=no,width=$x_width, height=$y_height,top=$top_m,left=$left_m');
//-->
</SCRIPT>
";
}
}
}






view_popup.php 내용

view_popup.php 화일은 /include 폴더를 하나 생성해서 그만에 넣어 두었습니다.



$html_title = "▒ POPUP NEWS ▒";
$page_width = "100%";

$gnu_path = "./";
$popup_path = $gnu_path . "include/"; // 이부분은 자신에 맞게 설정하세요....

$sql = " SELECT * FROM $bo_table WHERE pop_id = $pop_id ";
$row = sql_fetch($sql);
?>

<STYLE type='text/css'>

A:link {color:black;font-size:9pt;text-decoration:none;}
A:visited {color:black;font-size:9pt;text-decoration:none;}
A:active {color:black;font-size:9pt;text-decoration:none;}
A:hover {color:#008400;text-decoration:none;}

A.cromer:link {color:black; text-decoration:none;}
A.cromer:visited {color:black; text-decoration:none;}
A.cromer:active {color:black; text-decoration:none;}
A.cromer:hover {color:#008400; text-decoration:none;}

#cromer111 {width: 370; height: 480; overflow: auto; padding:1px; border:1 solid darkgray;}
body {background:#ffffff url(http://www.goodch.com/images/m2.gif) fixed no-repeat right bottom}
<!--
BODY
{scrollbar-face-color: white; scrollbar-shadow-color: #008400;
scrollbar-highlight-color: #008400; scrollbar-3dlight-color: white;
scrollbar-darkshadow-color: white; scrollbar-track-color: white;
scrollbar-arrow-color: #008400}
-->

</style>

<!--// 스크롤바 자동 업다운 스크립트 --->
<script>
var sRepeat=null;
function doScrollerIE(dir, src, amount) {
if (amount==null) amount=10;
if (dir=="up")
document.all[src].scrollTop-=amount;
else
document.all[src].scrollTop+=amount;
if (sRepeat==null)
sRepeat = setInterval("doScrollerIE('" + dir + "','" + src + "'," + amount + ")",100);
return false }
window.document.onmouseout = new Function("clearInterval(sRepeat);sRepeat=null");
window.document.ondragstart = new Function("return false");
</script>

<script language="JavaScript">
<!--
function setCookie( name, value, expiredays ) {
var todayDate = new Date();
todayDate.setDate( todayDate.getDate() + expiredays );
document.cookie = name + "=" + escape( value ) + "; path=/; expires=" + todayDate.toGMTString() + ";"
}
function closeWin() {
if ( document.popup.notice.checked )
setCookie( "popnews<?=$pop_id?>", "no" , 1);
self.close();
}
// -->
</script>

<table board="0" align=center bgcolor=#E79600 id=pop_content width=100% cellpadding=0 cellspacing=0><tr><td valign=middle align=center height=50>
<font size="3" color="#FFFFFF">▒▒▒ <b>예수인 안의 세상 알림장</b> ▒▒▒</font> </td><td width="0%"></td><tr>
<tr><td height=2 bgcolor=000000></td></tr><tr><td height=5 bgcolor=gray></td></tr>
 </table>
 <table bgcolor=gray cellpadding="0" cellspacing="0" border=0 width="100%" align="center" style="border-width:0; border-color:silver; border-style:solid;" >
 <tr>
 <td width="5" valign="top"></td>
 <td width="100%" rowspan="2" style='word-break:break-all; line-height:140%;'>
<DIV ID=scroll STYLE="width:352; height:390; overflow:hidden; margin-left:2px;" style="background-color:#FFFFFF">
<DIV align=center STYLE="width:97%; height:100%; overflow:hidden; margin-left:10px;" style="background-color:#FFFFFF">
<table width="355" height="100%" border="0" cellspacing="0" cellpadding="0" bgcolor=#FFFFFF><tr><td>
<table width="100%" height="100%" border="0" cellspacing="1" cellpadding="0" bgcolor=#FFFFFF><tr><td valign=top>
<font size=2><br><b><?=$row[pop_subject]?></b><br><br> <?=nl2br($row[pop_contents])?> </font>
</td></tr></table>
</td></tr></table>
</DIV>
</DIV>
 </td>
 <td width="12" valign="top">
 <a style="text-indent: 0px;" ONMOUSEOVER="return doScrollerIE('up','scroll',10)" ONMOUSEOUT="clearInterval(sRepeat)" style="cursor:n-resize"><img src="./images/s_up.gif"></a>
 </td>
 </tr>
 <tr>
 <td width="5" valign="top"></td>
 <td width="12" valign="bottom">
 <a style="text-indent: 0px;" ONMOUSEOVER="return doScrollerIE('down','scroll',10)" ONMOUSEOUT="clearInterval(sRepeat)" style="cursor:s-resize"><img src="./images/s_down.gif"></a>
 </td>
 </tr>
</table>
<table width="100%" height="3" border="0" cellspacing="0" cellpadding="0" bgcolor=gray><tr><td></td></tr></table>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" valign="bottom">
<form name="popup">
<tr><td bgcolor="#E79600" valign=top> <div align="center" valign=top><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<div id="cromer111" valign=top>
<input type="checkbox" name="notice" value="no">
 <font size="2" color="#FFFFFF">이 창을 다시 열지 않음 </font> <a href="javascript:history.onclick=closeWin()"><font size="2" color="#FFFFFF">[닫기]</a></font></b></div></td></tr>

</form>
</table>
</div>


고수님들 귀찮으시겠지만 조금이라도 도움을 주셨으면 좋겠습니다.

댓글 전체

해결했네요 ^^;;

왜 답변을 안해주시는지 알것같습니다. ㅋㅋ

찾아 보니 해결방안이 다 있네요 ㅡㅡ;;;

아무튼 글 읽어 주신 분들께 감사합니다.
전체 9,564
그누3질답 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT