글을 잘라서 여러 페이지로 만들어 넘기기
본문
여러개의 페이지로 나누어 볼수 있게 하려고 하는데..
도저히 저의 머리로는 힘들어서 고수님들께 한번 부탁을 드려 봅니다.
제가 생각한 방법은 데이타베이스에서 불러서 간격에 맞게 한번 짜른 다음
지정한 줄수로 자르고 그걸 다시 여러개의 파일로 생성시키는 것입니다.
그렇게 여러개의 파일을 페이지 형식으로 순서대로 넘기는 건데..
그게 마음먹은데로 잘 되지가 않는군요..
해결할 수 있는 방법이나 다른 좋은 방법 없을까요..?
답변 2
우선 글을 읽어오는 함수는 이렇습니다..
function get_line( $sort_info, $line_info, $table_name, $id, $field = "text" )
{
$q = "SELECT $field FROM $table_name WHERE id = $id";
$a = db_work( $q );
$t = mysql_fetch_object( $a );
$cr = "
"; // carriage return
$txt = explode( $cr, $t->$field );
if( $sort_info[mode] == "i" ) {
$start_line = $line_info[start];
$end_line = $line_info[end];
} else {
$start_line = $line_info[start];
$end_line = $line_info[end];
}
for( $c = $start_line; $c != $end_line + $sort_info[step]; $c += $sort_info[step] )
$text[] = $txt[$c] . $cr; // string that exploded by "
" does not have "
"
return $text;
}
$sort_info[]는 [mode]에 정순인지 역순인지를 저장해서
그에 맞게 줄을 읽는 데 쓰는 배열입니다. 신경쓰실 건 없구요..
음...
$line_info[]는 현재 쪽수와 한 쪽에 몇 줄인지를 받아서
첫 줄과 끝 줄을 산출한 뒤 [start]와 [end]에 넣어둔 배열입니다.
쿼리에서 범위를 지정할 수 있는 목록과는 달리
텍스트는 일단 다 읽고 나서 다시
범위만큼만 빼서 기억시키는 방식을 취하고 있습니다.
함수에 전달된 나머지 인수는 보면 아시겠죠? :)
from [ke'izi] : where is [r]?
그럼 도움이 되시길..
와 감사합니다 잘 되네요 ^^