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

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
페이지에 관한 지난번 드린 질문에 추가질문을 드립니다.

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