PHP 프로그래밍

본문 바로가기
사이트 내 전체검색


Web Programming >> PHP Programming
[목차]
제28장 카드메일발송 프로그램

    1. 카드관리 프로그램 - 관리자용

 

1. 테이블 만들기

카드관리를 위한 테이블이 필요하다.

CREATE TABLE ecard (
uid int(9) unsigned NOT NULL auto_increment,
cat1 varchar(20) NOT NULL,
cat2 int(2) NOT NULL,
file varchar(100) NOT NULL,
PRIMARY KEY (uid)
);

2. BBS용 관리자 인증 및 회원관리 만들기

이전장에 BBS용 관리자인증과 회원관리가 있다. 참고하여 만들기 바란다.

 

3. 파일들의 구조

/ -- bbs/ -+-  admin/ --  ecard/ --+(관리자화면-카드관리)

           |                       |

           |                       +-- index.html

           |                       +-- postform.html

           |                       +-- post.html

           |                       +-- deleteform.html

           |                       +-- delete.html

           |                       +-- viewcard.html

           |

           +-- ecard/ --+

           |            |

           |            +-- img_files/

           |            |

           |            +-- index.html

           |            +-- leelab-ecard.html

           |            +-- leelab-step1.html

           |            +-- leelab-preview.html

           |            +-- leelab-send.html

           |

           +-- memu.html

           +-- dbconn.html

           +-- user_function.html

 

4. BBS 용 메뉴 수정

<?

session_start();

if(!$user_id || !$user_name) {

        echo "<SCRIPT>location.replace('login.html');</SCRIPT>";

        exit;

}

?>

<HTML>

<HEAD>

<TITLE> 회원만이 볼 수 있는 화면 </TITLE>

</HEAD>

<BODY BGCOLOR="#EEEEEE">

<br>

<UL>

        <LI> <A HREF="passwd.html" target="leelab-detail">암호변경</A>

        <LI> <A HREF="change.html" target="leelab-detail">개인정보변경</A><br>

        <LI> <A HREF="chat/room_list.html" target="_blank">대화방</A><br>

        <LI> <A HREF="message/" target="_blank">쪽지보내기</A><br>

        <LI> <A HREF="ecard/" target="leelab-detail">카드메일보내기</A><br>

        <LI> <a href="logout.html" target="_top">종료</a>

</UL>

<?if($user_level == 2) {?>

<hr>

관리자메뉴

<UL>

<LI> <A HREF="admin/member/" target="leelab-detail">회원관리</A><br>

<LI> <A HREF="admin/ecard/" target="leelab-detail">카드관리</A><br>

</UL>

<?}?>

</BODY>

</HTML>

 

 

5. 카드관리 프로그램

목록보기(index.html)

<?

session_start();

include "../../user_function.html";

include "../../dbconn.html";

if(!$user_id || !$user_name || $user_level != "2") {

        echo "<SCRIPT>location.replace('/bbs/login.html');</SCRIPT>";

        exit;

}

?>

<html>

<head>

<title>관리자 메뉴-카드관리</title>

</head>

   <style type="text/css">

   <!--

   a:link,a:visited,a:active {

      text-decoration : none; font-size: 10pt;

   }

   a:hover {

      text-decoration : underline; font-size: 10pt;

      color : red;

   }

   //-->

   </style>

<body bgColor="#FFFFFF">

<?

if(!$page) {

   $page = 1;

}

$num_per_page = 10;

$page_per_block = 10;

########## 파일이 저장될 자료실의 디렉토리를 설정한다. ##########

$savedir = "../../ecard/img_files";

########## 현재페이지의 범위내에 출력할 결과레코드세트를 얻는다. ##########

if(!eregi("[^[:space:]]+",$key)) {

   $query = "SELECT uid,cat1,cat2,file FROM ecard ORDER BY uid DESC";

} else {

   $encoded_key = urlencode($key);

   $query = "SELECT uid,cat1,cat2,file FROM ecard WHERE $keyfield LIKE '%$key%' ORDER BY uid DESC";

}

$result= mysql_query($query);

if (!$result) {

   error("QUERY_ERROR");

   exit;

}

$total_record = mysql_num_rows($result);

########## 현재의 페이지에서 출력할 게시물의 범위를 결정한다. ##########

if(!$total_record) {

   $first = 1;

   $last = 0;   

} else {

   $first = $num_per_page*($page-1);

   $last = $num_per_page*$page;

   $IsNext = $total_record - $last;

   if($IsNext > 0) {

      $last -= 1;

   } else {

      $last = $total_record - 1;

   }      

}

########## 전체 페이지수를 계산한다. ##########

$total_page = ceil($total_record/$num_per_page);

?>

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td align=center height=30><b><font size=4>카 드 관 리</font></b></td>

</tr>

</table>

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td width="80">&nbsp;</td>

   <td width="340" align="center">

   <font size="2">   

<?

if(!eregi("[^[:space:]]+",$key)) {

   echo("총 등록된 자료 : <b>$total_record</b> (Total <b>$total_record</b> Files)");

} else {

   echo("검색된 자료 : <b>$total_record</b> (Total <b>$total_record</b> Files)");

}

?>

   </font>

   </td>

   <td width="80" align="right"><font size=2>( <font color="red"><? echo("$page") ?></font> / <font color="red"><? echo("$total_page") ?></font> )</font></td>

</tr>

</table>

<table width=500 border=0 cellpadding=1 cellspacing="0" align="center">

<tr>

   <td bgColor="#000000">

<table border="0" width="500" align="center" cellspacing="1" cellpadding="2">

<tr>

   <td align="center" bgColor=#BBBBBB width=40>

   <font size=2 color="#000000">번호</font></td>

   <td align="center" bgColor=#BBBBBB width=90>

   <font size=2 color="#000000">분류</font></td>

   <td align="center" bgColor=#BBBBBB width=90>

   <font size=2 color="#000000">형식</font></td>

   <td align="center" bgColor=#BBBBBB width=200>

   <font size=2 color="#000000">파일명</font></td>

</tr>

<?

$time_limit = 60*60*24*$notify_new_article;

########## 게시물의 가상번호(게시물의 개수에 따른 일련번호) ##########

$article_num = $total_record - $num_per_page*($page-1);

for($i = $first; $i <= $last; $i++) {

   $my_uid = mysql_result($result,$i,0);

   $my_cat1 = mysql_result($result,$i,1);

   $my_cat2 = mysql_result($result,$i,2);

   $my_file = mysql_result($result,$i,3);

   echo("<tr>");

   echo("   <td bgColor=#EEEEEE align=\"center\"><font size=2>$article_num</font></td>");

   echo("<td bgColor=#EEEEEE align=\"center\"><font size=2>$my_cat1</font></td>");

   echo("<td bgColor=#EEEEEE align=\"center\"><font size=2>$my_cat2</font></td>");

   echo("<td bgColor=#EEEEEE align=\"center\">&nbsp;<a href=\"viewcard.html?page=$page&number=$my_uid&keyfield=$keyfield&key=$encoded_key\" ><font size=2>$my_file</font></a></td>\n");

   echo("</tr>");      

   $article_num--;

}

echo("</table>");

?>

</td></tr>

</table>

<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

   <td colspan="7" align="center">

<?

########## 게시물 목록 하단의 각 페이지로 직접 이동할 수 있는 페이지링크에 대한 설정을 한다. ##########

$total_block = ceil($total_page/$page_per_block);

$block = ceil($page/$page_per_block);

$first_page = ($block-1)*$page_per_block;

$last_page = $block*$page_per_block;

if($total_block <= $block) {

   $last_page = $total_page;

}

########## 이전페이지블록에 대한 페이지 링크 ##########

if($block > 1) {

   $my_page = $first_page;

   echo("<font size=2><a href=\"index.html?page=$my_page&keyfield=$keyfield&key=$encoded_key\" >[이전 ${page_per_block}개]</a></font>");

}

########## 현재의 페이지 블럭범위내에서 각 페이지로 바로 이동할 수 있는 하이퍼링크를 출력한다. ##########

for($direct_page = $first_page+1; $direct_page <= $last_page; $direct_page++) {

   if($page == $direct_page) {

      echo("<font size=2><b>[$direct_page]</b></font>");

   } else {

      echo("<font size=2><a href=\"index.html?page=$direct_page&keyfield=$keyfield&key=$encoded_key\">[$direct_page]</a></font>");

   }

}

########## 다음페이지블록에 대한 페이지 링크 ##########

if($block < $total_block) {

   $my_page = $last_page+1;

   echo("<font size=2><a href=\"index.html?page=$my_page&keyfield=$keyfield&key=$encoded_key\" onMouseOver=\"status='load next $page_per_block pages';return true;\" onMouseOut=\"status=''\">[다음 ${page_per_block}개]</a></font>");

}

?>   

   </td>

</tr>

</table>

<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

   <td align="left">

   <a href="index.html" >목록</a>

   </td>

   <td align="right"><font size=2>

   <a href="postform.html" >등록</a> |

<?

########## 이전페이지가 존재할 경우 이전페이지로 가는 링크를 활성화시킨다. ##########

if ($page > 1) {

   $page_num = $page - 1;

   echo("<a href=\"index.html?page=$page_num&keyfield=$keyfield&key=$encoded_key\">이전</a> | ");

} else {

   echo("이전 | ");

}

########## 게시물이 다음페이지에도 존재할 경우 다음페이지로 가는 링크를 활성화시킨다. ##########

if ($IsNext > 0) {

   $page_num = $page + 1;   

   echo("<a href=\"index.html?page=$page_num&keyfield=$keyfield&key=$encoded_key\">다음</a> </td>");

} else {

   echo("다음</td>");

}

?>

</tr>

</table>

</body>

</html>

 

 

등록하기 (postform.html, post.html)

<?

session_start();

include "../../user_function.html";

include "../../dbconn.html";

if(!$user_id || !$user_name || $user_level != "2") {

        echo "<SCRIPT>location.replace('/bbs/login.html');</SCRIPT>";

        exit;

}

?>

<html>

<head>

<title>관리자 메뉴-카드관리</title>

</head>

   <style type="text/css">

   <!--

   a:link,a:visited,a:active {

      text-decoration : none; font-size: 10pt;

   }

   a:hover {

      text-decoration : underline; font-size: 10pt;

      color : red;

   }

   //-->

   </style>

   <script language="javascript">

<!--

function checkIt(form) {      

   if(!form.cat1.value) {

      alert('분류을 입력하세요!');

      form.name.focus();

      return;

   }

   if(!form.userfile.value) {

      alert('분류을 입력하세요!');

      form.userfile.focus();

      return;

   }

   form.submit();

}

//-->

</script>

<body bgColor="#FFFFFF">

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td align=center height=30><b><font size=4>카 드 관 리</font></b></td>

</tr>

</table>

<form name="signform" method="POST" ENCTYPE="multipart/form-data" action="post.html">

<table width="500" border="0" cellspacing="1" cellpadding="0" align="center">

<tr>

   <td bgColor="#000000">

   <table width="500" border="0" cellspacing="1" cellpadding="5" align="center">

   <tr>

      <td width="120" align="center" bgColor="#BBBBBB"><font size=2>분류 </font></td>

      <td width="380" bgColor="#EEEEEE">

          <input type="text" name="cat1" size="20" maxlength="20"></td>

   </tr>

   <tr>

      <td width="120" align="center" bgColor="#BBBBBB"><font size=2>형식 </font></td>

      <td width="380" bgColor="#EEEEEE">

<SELECT NAME="cat2">

<option value="0">Cartoon

<option value="1">Flash

</SELECT>

   </tr>

   <tr>

      <td align="center" bgColor="#BBBBBB"><font size=2>등록할 파일</font></td>

      <td bgColor="#EEEEEE">

          <input type="file" name="userfile" size="15"></td>

   </tr>

   <tr>

      <td align="center" colspan="2" bgColor="#BBBBBB">

      <font size=2>

      <input type="button" value="카드 등록" onClick="checkIt(this.form)">

      <input type="reset" value="취   소">

      </font>

      </td>

   </tr>

   </table>

   </td>

</tr>

</table>

</form>

</body>

</html>

 

 

파일명: post.html

<?

session_start();

include "../../user_function.html";

include "../../dbconn.html";

if(!$user_id || !$user_name || $user_level != "2") {

        echo "<SCRIPT>location.replace('/bbs/login.html');</SCRIPT>";

        exit;

}

if($userfile_name == "") {

        error("카드파일이 없습니다.");

        exit;

}

else {

    ########## 파일이 저장될 자료실의 디렉토리를 설정한다. ##########

    $savedir = "../../ecard/img_files";

########## 등록한 파일이 업로드가 허용되지 않는 확장자를 갖는 파일인지를 검사한다. ##########

    $full_filename = explode(".", "$userfile_name");

    $extension = $full_filename[sizeof($full_filename)-1];     

    if(strcmp($extension,"swf") && strcmp($extension,"jpg") && strcmp($extension,"gif")) {

        error("NO_ACCESS_UPLOAD");

        exit;

    }

    ########## 등록하려는 파일과 동일한 이름을 갖는 파일이 이미 존재하는지를 검사한다. ##########

    $same_file_exist = file_exists("$savedir/$userfile_name");

    if($same_file_exist) {

       error("SAME_FILE_EXIST");

       exit;

    }

    ########## 등록하려는 파일을 현재 자료실의 지정디렉토리에 저장 ##########

    if(!copy($userfile,"$savedir/$userfile_name")) {

        error("UPLOAD_COPY_FAILURE");

        exit;

    }

    ########## 작업이 끝난후 임시디렉토리에 저장된 파일을 삭제한다. ##########

    if(!unlink($userfile)) {

       error("UPLOAD_DELETE_FAILURE");

       exit;

    }

}

########## 데이터베이스에 입력값을 삽입한다. ##########

$query = "INSERT INTO ecard (cat1,cat2,file) VALUES ('$cat1',$cat2, '$userfile_name')";

$result = mysql_query($query);

if($result) {

   ########## 리스트 출력화면으로 이동한다. ##########

   echo ("<meta http-equiv='Refresh' content='0; URL=index.html'>");

} else {

   error("QUERY_ERROR");

   exit;

}

?>

 

 

 

삭제하기 (deleteform.html, delete.html)

 <?

session_start();

include "../../user_function.html";

include "../../dbconn.html";

if(!$user_id || !$user_name || $user_level != "2") {

        echo "<SCRIPT>location.replace('/bbs/login.html');</SCRIPT>";

        exit;

}

?>

<html>

<head>

<title>관리자 메뉴-카드관리</title>

</head>

   <style type="text/css">

   <!--

   a:link,a:visited,a:active {

      text-decoration : none; font-size: 10pt;

   }

   a:hover {

      text-decoration : underline; font-size: 10pt;

      color : red;

   }

   //-->

   </style>

<script language="javascript">

<!--

function checkIt(form) {      

   form.submit();

}

//-->

</script>

<body bgColor="#FFFFFF">

<?

########## 그림파일이 저장될 디렉토리를 설정한다. ##########

$savedir = "../../ecard/img_files";

$query = "SELECT cat1,cat2,file FROM ecard WHERE uid = $number";

$result = mysql_query($query);

if(!$result) {

   error("QUERY_ERROR");

   exit;

}

$my_cat1 = mysql_result($result,0,0);

$my_cat2 = mysql_result($result,0,1);

$my_file = mysql_result($result,0,2);

?>

<form name="signform" method="post" action="delete.html?page=<?echo("$page")?>&number=<?echo("$number")?>">

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td align=center height=30><b><font size=4>카 드 관 리</font></b></td>

</tr>

</table>

<table width="502" border="0" cellspacing="1" cellpadding="0" align="center">

<tr>

   <td bgColor="#000000">

   <table width="500" border="0" cellspacing="1" cellpadding="5" align="center">

<tr>

   <td  align="center" bgColor="#FFFFFF"><font color="#000000" size="2"><b><?echo("$my_cat1")?></b></font></td>

</tr>   

<tr>

   <td width="100%" bgColor="#EEEEEE"><font size="2">

   <?

   if($my_cat2 == "0") echo("<img src=\"$savedir/$my_file\" border=\"0\" hspace=\"2\"> ");

   else {

   ?>

<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 width=1 height=1>

<param name="movie" value="<?echo("$savedir/$my_file");?>">

<embed src="<?echo("$savedir/$my_file");?>" pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash width=1 height=1>

</embed>

</object>

   <?

   }

   ?></font></td>

</tr>   <tr>

      <td align="center" colspan="2" bgColor="#FFFFFF">

      <font size=2>

      <input type="button" value="카드 삭제" onClick="checkIt(this.form)">

      <input type="reset" value="취   소">

      </font>

      </td>

   </tr>

   </table>

</td></tr>

</table>

</form>

</body>

</html>

 

파일명 : delete.html

<?

session_start();

include "../../user_function.html";

vinclude "../../dbconn.html";

if(!$user_id || !$user_name || $user_level != "2") {

        echo "<SCRIPT>location.replace('/bbs/login.html');</SCRIPT>";

        exit;

}

########## 그림파일이 저장될 디렉토리를 설정한다. ##########

$savedir = "../../ecard/img_files";

########## 디렉토리에서 삭제할 파일명을 가지고 온다. ##########

$result = mysql_query("SELECT file FROM ecard WHERE uid = $number");

if(!$result) {

   error("QUERY_ERROR");

   exit;

}

$filename = mysql_result($result,0,0);

$file = "${savedir}/$filename";

########## 디렉토리에서 선택한 레코드의 그림파일을 삭제한다. ##########   

if(!unlink($file)) {

      error("FILE_DELETE_FAILURE");

      exit;

}   

########## 테이블에서 해당 파일의 레코드를 삭제한다. ##########

$result = mysql_query("DELETE FROM ecard WHERE uid = $number");

if (!$result) {

      error("QUERY_ERROR");

      exit;

}

echo("<meta http-equiv='Refresh' content='0; URL=index.html?page=$page'>");

?>

 

 

 

카드보기 (viewcard.html)

<?

session_start();

include "../../user_function.html";

include "../../dbconn.html";

if(!$user_id || !$user_name || $user_level != "2") {

        echo "<SCRIPT>location.replace('/bbs/login.html');</SCRIPT>";

        exit;

}

?>

<html>

<head>

<title>관리자 메뉴-카드관리</title>

</head>

   <style type="text/css">

   <!--

   a:link,a:visited,a:active {

      text-decoration : none; font-size: 10pt;

   }

   a:hover {

      text-decoration : underline; font-size: 10pt;

      color : red;

   }

   //-->

   </style>

<body bgColor="#FFFFFF">

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td align=center height=30><b><font size=4>카 드  관 리</font></b></td>

</tr>

</table>

<?

########## 파일이 저장될 자료실의 디렉토리를 설정한다. ##########

$savedir = "../../ecard/img_files";

########## 선택한 게시물의 입력값을 뽑아낸다. ##########

$query = "SELECT uid,cat1,cat2,file FROM ecard WHERE uid = $number";

$result = mysql_query($query);

if(!$result) {

   error("QUERY_ERROR");

   exit;

}

$row1 = mysql_fetch_row($result);

$my_uid = $row1[0];

$my_cat1 = $row1[1];

$my_cat2 = $row1[2];     

$my_file = $row1[3];

?>

<table width=500 border=0 cellpadding=1 cellspacing="0" align="center">

<tr>

   <td bgColor="#000000">

<table width=500 border=0 cellpadding=5 cellspacing="1" align="center">

<tr>

   <td  align="center" bgColor="#FFFFFF"><font color="#000000" size="2"><b><?echo("$my_cat1")?></b></font></td>

</tr>   

<tr>

   <td width="100%" bgColor="#EEEEEE"><font size="2">

   <?

   if($my_cat2 == "0") echo("<img src=\"$savedir/$my_file\" border=\"0\" hspace=\"2\"> ");

   else {

   ?>

<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0 width=400 height=300>

<param name="movie" value="<?echo("$savedir/$my_file");?>">

<embed src="<?echo("$savedir/$my_file");?>" pluginspage=http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash type=application/x-shockwave-flash width=400 height=300>

</embed>

</object>

   <?

   }

   ?></font></td>

</tr>

<tr>

   <td  align="right" bgColor="#EEEEEE">

<?

$encoded_key = urlencode($key);

echo("   

   <A HREF=\"deleteform.html?page=$page&number=$number&keyfield=$keyfield&key=$encoded_key\" >삭제</A>"

);

?>

   </td>

</tr>   

</table>

</td></tr>

</table>

<?

if(!$page) {

   $page = 1;

}

$num_per_page = 10;

$page_per_block = 10;

########## 파일이 저장될 자료실의 디렉토리를 설정한다. ##########

$savedir = "../../product_files";

########## 현재페이지의 범위내에 출력할 결과레코드세트를 얻는다. ##########

if(!eregi("[^[:space:]]+",$key)) {

   $query = "SELECT uid,cat1,cat2,file FROM ecard ORDER BY uid DESC";

} else {

   $encoded_key = urlencode($key);

   $query = "SELECT uid,cat1,cat2,file FROM ecard WHERE $keyfield LIKE '%$key%' ORDER BY uid DESC";

}

$result= mysql_query($query);

if (!$result) {

   error("QUERY_ERROR");

   exit;

}

$total_record = mysql_num_rows($result);

########## 현재의 페이지에서 출력할 게시물의 범위를 결정한다. ##########

if(!$total_record) {

   $first = 1;

   $last = 0;   

} else {

   $first = $num_per_page*($page-1);

   $last = $num_per_page*$page;

   $IsNext = $total_record - $last;

   if($IsNext > 0) {

      $last -= 1;

   } else {

      $last = $total_record - 1;

   }      

}

########## 전체 페이지수를 계산한다. ##########

$total_page = ceil($total_record/$num_per_page);

?>

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td align=center height=30><b><font size=4>카 드 관 리</font></b></td>

</tr>

</table>

<table width="500" border="0" align="center" cellspacing="0" cellpadding="0">

<tr>

   <td width="80">&nbsp;</td>

   <td width="340" align="center">

   <font size="2">   

<?

if(!eregi("[^[:space:]]+",$key)) {

   echo("총 등록된 자료 : <b>$total_record</b> (Total <b>$total_record</b> Files)");

} else {

   echo("검색된 자료 : <b>$total_record</b> (Total <b>$total_record</b> Files)");

}

?>

   </font>

   </td>

   <td width="80" align="right"><font size=2>( <font color="red"><? echo("$page") ?></font> / <font color="red"><? echo("$total_page") ?></font> )</font></td>

</tr>

</table>

<table width=500 border=0 cellpadding=1 cellspacing="0" align="center">

<tr>

   <td bgColor="#000000">

<table border="0" width="500" align="center" cellspacing="1" cellpadding="2">

<tr>

   <td align="center" bgColor=#BBBBBB width=40>

   <font size=2 color="#000000">번호</font></td>

   <td align="center" bgColor=#BBBBBB width=90>

   <font size=2 color="#000000">분류</font></td>

   <td align="center" bgColor=#BBBBBB width=90>

   <font size=2 color="#000000">형식</font></td>

   <td align="center" bgColor=#BBBBBB width=200>

   <font size=2 color="#000000">파일명</font></td>

</tr>

<?

$time_limit = 60*60*24*$notify_new_article;

########## 게시물의 가상번호(게시물의 개수에 따른 일련번호) ##########

$article_num = $total_record - $num_per_page*($page-1);

for($i = $first; $i <= $last; $i++) {

   $my_uid = mysql_result($result,$i,0);

   $my_cat1 = mysql_result($result,$i,1);

   $my_cat2 = mysql_result($result,$i,2);

   $my_file = mysql_result($result,$i,3);

   echo("<tr>");

   echo("   <td bgColor=#EEEEEE align=\"center\"><font size=2>$article_num</font></td>");

   echo("<td bgColor=#EEEEEE align=\"center\"><font size=2>$my_cat1</font></td>");

   echo("<td bgColor=#EEEEEE align=\"center\"><font size=2>$my_cat2</font></td>");

   echo("<td bgColor=#EEEEEE align=\"center\">&nbsp;<a href=\"viewbody.html?page=$page&number=$my_uid&keyfield=$keyfield&key=$encoded_key\" ><font size=2>$my_file</font></a></td>\n");

   echo("</tr>");      

   $article_num--;

}

echo("</table>");

?>

</td></tr>

</table>

<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

   <td colspan="7" align="center">

<?

########## 게시물 목록 하단의 각 페이지로 직접 이동할 수 있는 페이지링크에 대한 설정을 한다. ##########

$total_block = ceil($total_page/$page_per_block);

$block = ceil($page/$page_per_block);

$first_page = ($block-1)*$page_per_block;

$last_page = $block*$page_per_block;

if($total_block <= $block) {

   $last_page = $total_page;

}

########## 이전페이지블록에 대한 페이지 링크 ##########

if($block > 1) {

   $my_page = $first_page;

   echo("<font size=2><a href=\"index.html?page=$my_page&keyfield=$keyfield&key=$encoded_key\" >[이전 ${page_per_block}개]</a></font>");

}

########## 현재의 페이지 블럭범위내에서 각 페이지로 바로 이동할 수 있는 하이퍼링크를 출력한다. ##########

for($direct_page = $first_page+1; $direct_page <= $last_page; $direct_page++) {

   if($page == $direct_page) {

      echo("<font size=2><b>[$direct_page]</b></font>");

   } else {

      echo("<font size=2><a href=\"index.html?page=$direct_page&keyfield=$keyfield&key=$encoded_key\">[$direct_page]</a></font>");

   }

}

########## 다음페이지블록에 대한 페이지 링크 ##########

if($block < $total_block) {

   $my_page = $last_page+1;

   echo("<font size=2><a href=\"index.html?page=$my_page&keyfield=$keyfield&key=$encoded_key\" onMouseOver=\"status='load next $page_per_block pages';return true;\" onMouseOut=\"status=''\">[다음 ${page_per_block}개]</a></font>");

}

?>   

   </td>

</tr>

</table>

<table width="500" border="0" cellspacing="0" cellpadding="0" align="center">

<tr>

   <td align="left">

   <a href="index.html" >목록</a>

   </td>

   <td align="right"><font size=2>

   <a href="postform.html" >등록</a> |

<?

########## 이전페이지가 존재할 경우 이전페이지로 가는 링크를 활성화시킨다. ##########

if ($page > 1) {

   $page_num = $page - 1;

   echo("<a href=\"index.html?page=$page_num&keyfield=$keyfield&key=$encoded_key\">이전</a> | ");

} else {

   echo("이전 | ");

}

########## 게시물이 다음페이지에도 존재할 경우 다음페이지로 가는 링크를 활성화시킨다. ##########

if ($IsNext > 0) {

   $page_num = $page + 1;   

   echo("<a href=\"index.html?page=$page_num&keyfield=$keyfield&key=$encoded_key\">다음</a> </td>");

} else {

   echo("다음</td>");

}

?>

</tr>

</table>

</body>

</html>

 

 

 

[목차]

개인정보취급방침 서비스이용약관 모바일 버전으로 보기 상단으로

TEL. 063-469-4551 FAX. 063-469-4560 전북 군산시 대학로 558
군산대학교 컴퓨터정보공학과

Copyright © www.leelab.co.kr. All rights reserved.