페이지에 관한 지난번 드린 질문에 추가질문을 드립니다.

페이지에 관한 지난번 드린 질문에 추가질문을 드립니다.

QA

페이지에 관한 지난번 드린 질문에 추가질문을 드립니다.

본문

http://fun-site.alpha-come.co.jp/easy/riceball.html 

 

 

위 사이트에 대해 질문을 했었는데요...

(http://sir.co.kr/qa/?wr_id=49935&sfl=mb_id%2C1&lstx=kshajiny)

 

제가 어떻게 하고 싶냐면....

아래 그림을 보시면 헤더부분과 푸터부분은 수정없이 그대로 두고,

컨텐츠 부분만 따로 list.html 페이지에 나열, 정리해놓고 

(내용이 추가 될 때마다 list.html​에 추가를 하여, 새로 등록하는 내용을 위로 오도록 하여)

riceball.html에서 list.html​를 불러와서 10개씩 추출, 표시되도록 하고 싶습니다.

10개가 넘어가면 물론 다음페이지로 넘어갈 수 있도록...

 

이런게 프로그램으로 가능한 것인가요? 

자바스크립트..?

답변 주실 분들께 미리 감사말씀 드립니다 ㅠ ㅠ

 

 

912e065ebd01a37cc8152c2ff49e474c_1417659206_0218.png
 

 

페이지 표시는 이전페이지 다음페이지가 아니고 1,2,3,4 등의 숫자 나열도 가능합니다.

 

이 질문에 댓글 쓰기 :

답변 3

제가 봤을땐, 이미 사이트가 구축되어 있는 그대로 쓰시는것이 좋을듯 합니다.

 

그러나 굳이 바꾸자 한다면, 배열을 이용해서 할수 있다고 말할수 있습니다.( 많이 어려워요. )

 

먼저 html 에서 php 문법을 사용할수 있는지부터 확인해 보세요.

 

html 문서에서 

 


<?php
echo "123";
?>

 

적으셔서, 브라우저 에서 확인해 보시면 

 

<?php echo "123"; ?>

 

이렇게 출력되면은 html 문서에서 php를 사용할수 없는 환경입니다. ( 할수가 없어요. 그냥 포기해야 되요... )

 

그러나 123 이렇게 출력되면 html 문서에서 php를 ​사용할수 있는 환경이에요. 

 

php를 사용할수 있는 환경이라면

 

예를 들어서 배열을 선언합니다.

 

$list = array();

$list[0] = '<div class="easylist atype">

        <div class="box_center_img"><img src="../common/img/easy/riceball/pic17.jpg" alt="大根の漬物玄米おむすび"></div>

        <div class="username heightLine-group1" style="height: 140px;">

          <h4 class="riceballtitle">大根の漬物玄米おむすび</h4>

          <p class="note">大根の漬物2種類を使った漬物玄米おむすびです。<br>大根の田舎漬け2枚と鮮やかな黄色のたくあん3枚を細かく角切りにして、<a href="../products/category06/item01.html" class="linkcolor">ぷちっともち玄米</a>と白米を1:1で炊いたご飯に混ぜ込みました。<br>1個にはのりを巻いてみましたよ♪</p>

        </div>

      </div>';

$list[1] = 'html1';

$list[2] = 'html2';

$list[3] = 'html3';

$list[4] = 'html4';

$list[5] = 'html5';

$list[6] = 'html6';

$list[7] = 'html7';

$list[8] = 'html8';

$list[9] = 'html9';

$list[10] = 'html10';

$list[11] = 'html11';

$list[12] = 'html12'; 

 

배열은 key => value 형식으로 되어 있는데요.( key 는 index 라고도 합니다 )

 

$list[12] = 'html12';

key 는 12 이고 value 는 html12 입니다.

 

한 페이지당 10개씩 출력한다고 가정한다면 

 

riceball.html 페이지에서는  

key가 12 ~ 3 까지 value 를 출력할수 있구요.

 


rsort($list);  //배열을 역순으로 정렬
 
$list = array_slice($list, 0, 10 );   //배열 범위를 잘라온다. 인덱스가 0인것 부터 10개까지
 
foreach( $list as $v){
if( empty($v) ) continue;
echo $v;
}

 

$list[12]

$list[11]

$list[10]

$list[9]

...

...

$list[4]

$list[3]

 

riceball_2.html 페이지에서는 

key가 2~0 까지 value 를 출력할수 있습니다. 

 

위의 php 코드에서  

$list = array_slice($list, 10, 10 );   <<< 이렇게 바꾸면 아래 형식으로 출력됩니다.

)

 

$list[2]

$list[1]

$list[0]

 

일단은 html 문서에서 php가 작동 되는지 부터 확인해 보세요.

건님 목소리를 상상하며 읽었습니다 흐흐 답변 감사합니다.
일단 php는 사용 가능합니다.  (라고 말하며 테스트 해보기;;)
php에 대해 조금 더 공부해보고 적용해 보도록 하겠습니다 ^^
친절히 자세히 알려주셔서 정말 감사합니다!!

지금은 페이지별로 각각 헤더부터 내용, 푸터까지 하나의 html 파일로 만들어 놓으셨다는 말씀이신가요..

 

저는 보통 php로 내용을 다 짜버려서 ㅎㅎ

 

html에서도 <? include 'top.htm'; ?> 이렇게 위에 헤드 불러오고 

아래에 푸터 불러오고 하면 관리하기 쉬울거 같은데요

탈환대님 답변 감사드립니다.
제가 만든 사이트가 아니라서  ㅠ ㅠ  관리, 수정만 하는 수준입니다...
제가 php를 전혀 모르기도 하고요; (제 지식 수준은 html/css의 기초..정도? ㅎㅎ)
헤더와 푸터도 전체 페이지를 첨부터 그렇게 만들었으면 관리하기 편할텐데 말이에요 ..
근데 지금 다 바꾸려면 헉..소리가 -ㅅ -.. 아직 그 수준이 아니라 실수로 잘못건드리면 난리 날 것 같아요 ㅋㅋ

지금 질문드리는 건 저기 페이지만 질문드린대로 본문(컨텐츠)내용을 따로 불러오고 싶다는 거예요 ^^
다른 페이지는 이미 다른 형식으로 되어 있어서... 홍홍홍

저번에 물어보신게 이걸 물으신거였군요ㅎㅎ

 

위에 thisgun 님 답변처럼 하면 되는데 php 를 모르신다고 하셨으니..어려울 듯 보이네요.

어쨋든 저도 작성한 코드 남겨드립니다. 

  

[code]

<?

// 현재페이지, 총페이지수, 한페이지에 보여줄 행, URL ​- 그누보드 함수
function get_paging($write_pages, $cur_page, $total_page, $url, $add="")
{
    $str = "";
    if ($cur_page > 1) {
        $str .= "<a href='" . $url . "1{$add}'>처음</a>";
    }
    $start_page = ( ( (int)( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;
    $end_page = $start_page + $write_pages - 1;

    if ($end_page >= $total_page) $end_page = $total_page;

    if ($start_page > 1) $str .= "  <a href='" . $url . ($start_page-1) . "{$add}'>이전</a>";

    if ($total_page > 1) {
        for ($k=$start_page;$k<=$end_page;$k++) {
            if ($cur_page != $k)
                $str .= "  <a href='$url$k{$add}'><span>$k</span></a>";
            else
                $str .= "  <b>$k</b> ";
        }
    }

    if ($total_page > $end_page) $str .= "  <a href='" . $url . ($end_page+1) . "{$add}'>다음</a>";

    if ($cur_page < $total_page) {
        $str .= "  <a href='$url$total_page{$add}'>맨끝</a>";
    }
    $str .= "";

    return $str;
}

$content = array(
    array('img0','title','memo'), //새로 추가하는건 이줄 복사 후 위쪽에
    array('img1','title','memo'), // 이미지경로, 상품이름, 메모내용
    array('img2','title','memo'),
    array('img3','title','memo'),
    array('img4','title','memo'),
    array('img5','title','memo'),
    array('img6','title','memo'),
    array('img7','title','memo'),
    array('img8','title','memo'),
    array('img9','title','memo')
);

$total_count = count($content);
$page_mod = 6; //페이지별 나오는 갯수
$page_num = 10; //페이지 번호 출력 갯수

$total_page  = ceil($total_count / $page_mod);  // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $page_mod; // 시작 열을 구함

$list = array_slice($content, $from_record, $page_mod);
$list_count = count($list);
?>   

<style>
.easylist{float:left; width:200px; border:1px solid #ccc;}
.pagenavi{clear:both;}
</style>
<div style="width:420px;">
<? for($i=0; $i<$list_count; $i++) { ?>
    <div class="easylist atype">
        <div class="box_center_img"><?=$list[$i][0]?></div>
        <div class="username heightLine-group1">
            <h4 class="riceballtitle"><?=$list[$i][1]?></h4>
            <p class="note"><?=$list[$i][2]?></p>
        </div>
    </div>
<? }
$write_pages = get_paging($page_num, $page, $total_page, "?page=");
?>
</div>

<div class="pagenavi">
    <ul>
        <li><?echo $write_pages;?></li>
    </ul>
</div> 

[code]

 

배열+그누보드 기본 함수 로 해봤습니다~

http://qhrtm.web-bi.net/test3.php

 

우왕, 뽁스님 너무 감사합니다-ㅅ ㅠ
사실 맞습니다ㅋㅋ php를 모르니 뭐 ㅋㅋㅋㅋ
알려주신 코드 보고 연구해보겠습니다!! 이렇게 배워가는거죠!!! 
테스트페이지까지 감동 ㅠ ㅠ

html 한페이지에서 구현되는겁니다.
링크페이지에 있는 1,2페이지의 상품목록을 php 배열로 저장하고 보여줄 갯수만큼 페이지로 구분(주소창에 보면 ?page=1)
갤러리게시판처럼 생각하면 됩니다.

아래에서 배열로 값 지정하고
array('img0','title','memo'), //새로 추가하는건 이줄 복사 후 위쪽에
array('img1','title','memo'), // 이미지경로, 상품이름, 메모내용

아래에서 보여질 갯수만큼 for문으로 상품박스 출력
<? for($i=0; $i<$list_count; $i++) { ?>
    <div class="easylist atype">
        <div class="box_center_img"><?=$list[$i][0]?></div>
        <div class="username heightLine-group1">
            <h4 class="riceballtitle"><?=$list[$i][1]?></h4>
            <p class="note"><?=$list[$i][2]?></p>
        </div>
    </div>
<? }
$write_pages = get_paging($page_num, $page, $total_page, "?page="); //페이지 구하기
?>

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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