묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
php메모장만드는데 질문있어요~
2002.06.16 12:34
메모장에
파일은
variable.php 는 여러가지 변수 설정파일
memo_end.php 는 메모저장파일
memo.php 는 메모목록출력, 메모입력폼
소스가
============memo.php=================================
<?
include "variable.php";
echo "<HTML>
<HEAD>
<TITLE>메모장</TITLE>
</HEAD>
<BODY bgcolor="${bg_color}" img="${bg_img}">
<CENTER>
<!-- 메모장위에 나올글 또는 HTML -->
<BR><FONT SIZE=${title_font_size} FACE='${title_font_face}'> ${title} <br></font>
<!-- 요까지 -->
<TABLE WIDTH=600 CELLSPACING=1 CELLPADDING=1 BGCOLOR=6b7bad>
<TR>
<TD ALIGN=CENTER WIDTH=60><FONT SIZE=2 COLOR=WHITE>
번호</TD>
<TD ALIGN=CENTER WIDTH=100><FONT SIZE=2 COLOR=WHITE>
작성자</TD>
<TD ALIGN=CENTER WIDTH=440><FONT SIZE=2 COLOR=WHITE>
내용</TD>
</TR>";
$connect = mysql_connect($host_name,$mysql_id,$mysql_pw) or die ("<h3>데이터베이스 연결 실패. 잠시후에 다시 사용해주세요...</h3>");;
mysql_select_db($mysql_db_name,$connect) or die ("<h3>디비 연결 실패. 잠시후에 다시사용해주세요...</h3>");
$query = "SELECT * FROM penguix_memo ORDER BY num DESC";
$result = mysql_query($query,$connect);
while($row = mysql_fetch_array($result))
{
$row[regtime] = substr($row[regtime],11,8);
echo "
<TR BGCOLOR=ghostwhite>
<TD ALIGN=CENTER><FONT SIZE=2>$row[num]</TD>
<TD ALIGN=CENTER><FONT SIZE=2>$row[writer]</TD>
<TD><FONT SIZE=2>$row[memo] - <FONT COLOR=RED>$row[regtime]</TD>
</TR>";
}
echo "</TABLE>
<BR>
<TABLE WIDTH=600 CELLSPACING=1 CELLPADDING=1 BGCOLOR=6b7bad>
<FORM METHOD=POST ACTION="memo_end.php">
<TR BGCOLOR=ghostwhite>
<TD ALIGN=CENTER><FONT SIZE=2>
작성자 : <INPUT TYPE=TEXT NAME="writer" SIZE=10>
<INPUT TYPE=TEXT NAME="memo" SIZE=40>
<INPUT TYPE=SUBMIT VALUE='메모남기기'>
</TR>
</FORM>
</TABLE>
<br>";
?>
<p><FONT SIZE=2 FACE='Comic Sans MS'>Copyright © 2002 정지윤, All rights reserved.</font></p>
</BODY>
</HTML>
===========================================
이렇게 되는데요~
내용을 여러페이지로 나눠서 밑에 숫자누르면 그페이지 보여주는거 어케하죠?
제발답해주세요~
파일은
variable.php 는 여러가지 변수 설정파일
memo_end.php 는 메모저장파일
memo.php 는 메모목록출력, 메모입력폼
소스가
============memo.php=================================
<?
include "variable.php";
echo "<HTML>
<HEAD>
<TITLE>메모장</TITLE>
</HEAD>
<BODY bgcolor="${bg_color}" img="${bg_img}">
<CENTER>
<!-- 메모장위에 나올글 또는 HTML -->
<BR><FONT SIZE=${title_font_size} FACE='${title_font_face}'> ${title} <br></font>
<!-- 요까지 -->
<TABLE WIDTH=600 CELLSPACING=1 CELLPADDING=1 BGCOLOR=6b7bad>
<TR>
<TD ALIGN=CENTER WIDTH=60><FONT SIZE=2 COLOR=WHITE>
번호</TD>
<TD ALIGN=CENTER WIDTH=100><FONT SIZE=2 COLOR=WHITE>
작성자</TD>
<TD ALIGN=CENTER WIDTH=440><FONT SIZE=2 COLOR=WHITE>
내용</TD>
</TR>";
$connect = mysql_connect($host_name,$mysql_id,$mysql_pw) or die ("<h3>데이터베이스 연결 실패. 잠시후에 다시 사용해주세요...</h3>");;
mysql_select_db($mysql_db_name,$connect) or die ("<h3>디비 연결 실패. 잠시후에 다시사용해주세요...</h3>");
$query = "SELECT * FROM penguix_memo ORDER BY num DESC";
$result = mysql_query($query,$connect);
while($row = mysql_fetch_array($result))
{
$row[regtime] = substr($row[regtime],11,8);
echo "
<TR BGCOLOR=ghostwhite>
<TD ALIGN=CENTER><FONT SIZE=2>$row[num]</TD>
<TD ALIGN=CENTER><FONT SIZE=2>$row[writer]</TD>
<TD><FONT SIZE=2>$row[memo] - <FONT COLOR=RED>$row[regtime]</TD>
</TR>";
}
echo "</TABLE>
<BR>
<TABLE WIDTH=600 CELLSPACING=1 CELLPADDING=1 BGCOLOR=6b7bad>
<FORM METHOD=POST ACTION="memo_end.php">
<TR BGCOLOR=ghostwhite>
<TD ALIGN=CENTER><FONT SIZE=2>
작성자 : <INPUT TYPE=TEXT NAME="writer" SIZE=10>
<INPUT TYPE=TEXT NAME="memo" SIZE=40>
<INPUT TYPE=SUBMIT VALUE='메모남기기'>
</TR>
</FORM>
</TABLE>
<br>";
?>
<p><FONT SIZE=2 FACE='Comic Sans MS'>Copyright © 2002 정지윤, All rights reserved.</font></p>
</BODY>
</HTML>
===========================================
이렇게 되는데요~
내용을 여러페이지로 나눠서 밑에 숫자누르면 그페이지 보여주는거 어케하죠?
제발답해주세요~
댓글 3
-
정지윤
2002.06.16 12:35
알고리즘만 갈켜주세요~ -
Legend
2002.06.16 13:05
먼저 게시물의 전체 갯수를 읽어와서 페이지당 표시될 갯수로 나눠 전체 페이지 갯수를 구한후 각각의 페이지를 클릭할때 데이터 베이스에서 그 페이지에 해당하는 부분의 게시물을 가져다 출력해 주는 것이지요.
요 해당하는 부분을 가져오는 부분은 예를 들어보면
총 게시물이 35개라고 하면 한페이지에 7개씩 보여주는 메모장을 만든다면 첫페이지는 데이터 베이스에서 최근에 작성된 1번 게시물부터 7번게시물까지 가져와야 겠지요. mysql 쿼리에서 desc로 역순정렬한후에 1번부터 7번가지만 가져요지요. 2페이지는 8번부터 15번까지... 가져다 출력하면 되겠지요.
mysql쿼리에서 특정 열을 지정하는 쿼리로 LIMIT를 사용하지요. "LIMIT 5" 하면 처음 5개의 열을 읽어오고 "LIMIT s, n" 하면 s+1번 열부터 n개의 열을 가져오지요. 위에서는 "LIMIT 페이지-1,페이지당 표시수" 로 게시물을 읽어오면 되겠지요. -
ssukai
2002.06.17 00:54
나중에 다 만드시고 소스좀 올려주세요..