japanese site
온라인강좌책메일다운로드동아리쇼핑기술지원기업정보갤러리동영상 블로그
『신개념 4단계 리눅스기술지원 시스템 공개』

※ 『무료 리눅스 배포판 배송서비스』 ※

※ 게시판 용도에 맞지 않는 글(광고및 홍보 글 등)은 임의삭제될 수 있습니다.

 
작성일 : 09-06-14 17:31
php소스좀 봐주세요 ㅜㅜ
 글쓴이 : 이동섭
조회 : 2,346  

안녕하세요.

다시 LAPM를 공부하고있는 유저입니다.

근데 가장 기초적인 방명록 만드는 부분부터 막히네요 ㅜㅜ

밑에 소스는 다음페이지를 선택하였을경우에 화면이 바뀌지가 않는문제점이 있습니다.

소스부분에서 문제점이 있는지 확인부탁드립니다 ㅜㅜ

<?
$connect = mysql_connect("localhost","root","tkfkd10") or die("DB Server 접속에 실패하였습니다");
mysql_select_db("php", $connect);

$pgsize = 2;
$page = 1;
$ppage = $page - 1;
$npage = $page + 1;
$rcount = 0;

$query = "select count(*) from guestbook";
$result = mysql_query($query, $connect);
$row = mysql_fetch_row($result);

$totalpage = (int)($row[0]/$pgsize)+1;
$temppage = $row[0]/$pgsize + 1;

if($temppage == $totalpage) $totalpage = $totalpage - 1;
if($page == "") $page = 1;
if($page > $totalpage) $page = $totalpage;

$query = "select * from guestbook order by num desc";
$result = mysql_query($query, $connect);

for($tt = 0; $tt < $pgsize * ($page-1); $tt++){
 $row = mysql_fetch_array($result);
}

echo "
<html>
<head>
<title>첫번째 테스트 방명록입니다.</title>
</head>
<body bgcolor = eeeeee>
<center>
<font size = 7 face = 'Comic Sans MS'>[방명록]</font><br><br>
<table bgcolor = eeeeee width = 600>
<tr>
 <td align = left width = 50%><font size = 2>총 게시물: $row[0]</font></td>
 <td align = right width = 50%><font size = 2>페이지: $page/$totalpage</font></td>
</tr>
</table> ";

while($row = mysql_fetch_array($result)){
 $row[content] = eregi_replace("\n","<br>", $row[content]);
 $row[content] = stripslashes($row[content]);

 if($rcount == $pgsize) break;
 echo "
  <table width = 600 cellspacing = 1 bgcolor = black>
 <tr>
  <td bgcolor = bbbbbb><font size = 2>작성자: $row[name]( ";
 if(!$row[email])
 echo "<font color = red>E-MAIL 없음</font>";
 else echo "<a href = mailto:$row[email]>$row[email]</a>";
 echo ")</td>
 </tr>
 <tr>
  <td bgcolor = eeeeee><font size = 2><br>$row[content]<br><br></font></td>
 </tr>
 </table>
 <br>";
  if($rcount == $pgsize) break;
  else $rcount++;
}

echo "<font size = 2>";

if($page <= 1) echo "[이전 페이지]";
else echo "[<a href = 'guest_main.php?page=$ppage'>이전 페이지</a>]";
  echo "[<a href = 'guest.php'>글쓰기</a>]";
if($page >= $totalpage) echo "[다음 페이지]";
else echo "[<a href = 'guest_main.php?page=$npage'>다음 페이지</a>]";

mysql_close();
?>


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기

전광섭 09-06-15 11:01
 
일단.. 해당 페이지이름이 guest_main.php 이겠지요?

이페이지는 매번 열릴때 마다.. 처음 문건 부터 query 가 수행이 됩니다.
$query = "select * from guestbook order by num desc";

계산을 하셨던데.. 그계산을 응용을 해야겠지요?

" (하단에 이런 계산식을 넣는다는것은 pgsize 만큼만 보여주고 멈추는데요.
if($rcount == $pgsize) break;
"
굳이 이럴꺼면 많은 문건의 쿼리를 날리지 않아도 되겠지요?
page 번호로 앞페이지 뒷페이지 나누는 것도 어느 정도의 생각이라 볼수있지만,
게시물의 num 값으로 포인트를 잡구요.

상단의 쿼리문을 limit 옵션과 한페이지당 출력될 문건(pgsize) 로 계산하여
뽑아내는것이 효율적입니다.
아카시아 09-06-15 09:06
 
상단에 $page=1 을 선언하여 무조건 1이 되도록 되어 있네요^^;;
 
   
 


『신개념 4단계 리눅스기술지원 시스템 공개』

CentOS 리눅스 전문서적 국내최초출시

 
회사소개 | 보도기사 | 채용안내 | 광고안내 | 이용약관 | 개인정보취급방침 | 책임한계와 법적고지 | 불편사항 신고하기 | 사이트맵
ㅇ 서울 : 서울특별시 강남구 노현로79길 66, 402호(역삼동,청송빌딩)  ㅇ 부산 : 부산광역시 해운대구 우동 1470 에이스하이테크21 914호
ㅇ 대표 : 1544-8128 ㅇ부산직통 : 051-744-0077 ㅇ서울직통 : 02-856-0055 ㅇ FAX : 02-6280-2663
ㅇ 사업자번호 : 128-86-68239 ㅇ 통신판매업 신고번호 : 2013-부산금정-0035호 ㅇ 개인정보책임자 : 이재석
ㅇ 상호명 : (주) 수퍼유저 ㅇ 대표자 : 박성수
Copyright ⓒ (주)수퍼유저. All rights reserved.

 아 이 디
 비밀번호
회원 가입 | 비밀번호 찾기

블로그~
 
▷ 질문과 답변
리눅스
서버해킹/보안
네트워크
아파치
메일서버
DNS
PHP
JSP
MySQL
큐브리드
Oracle
MRTG
SMS
Weblog
Domain
S/W
하드웨어
책제목
리눅스서버관리실무바이블v3.0


저자 박성수
페이지수 2,032 pages
펴낸곳(주)수퍼유저

리눅스 서버 구축 및 관리에 필요한 거의 모든 부분과 전반적인 실무 기법들을 다루고 있음
책제목
리눅스보안관리실무(2/E)


저자홍석범
페이지수 820 pages
펴낸곳(주)수퍼유저

리눅스 보안에 관련된 내용을 종합적으로 쓴 책. 저자의 명성 그대로 보안관련의 모든 내용이 그대로 담겨져 있다.