채택완료

일반페이지에서 썸네일 출력 문의

2023-07-31 (월) 21:01:16 1,929

안녕하세요~!!

게시판이 아닌 일반페이지(test.php)에서 썸네일 출력이 잘 적용이 되지 않아서 이렇게 문의 드립니다.

소스코드는 아래와 같이 작성했습니다.

이미지는 글쓰기에서 에디터로 등록 했습니다.

/page/test.php

Copy
<?php

include_once('./_common.php');

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가

 

add_stylesheet('<link rel="stylesheet" href="'.$G5_URL.'/wm_page/style.css">', 0);  

 

$g5['title'] = $group['gr_subject'];

include_once(G5_PATH.'/board.head.php');

include_once(G5_LIB_PATH.'/thumbnail.lib.php');

?>

 

<?php

// DB 정보 생략

 

$conn = mysqli_connect($db_host, $db_user, $db_password, $db_name);

 

if (!$conn) {

    die('MySQL 연결 오류: ' . mysqli_connect_error());

}

 

// 한 페이지에 보여줄 항목 개수

$items_per_page = 10;

 

// 현재 페이지 번호를 GET 파라미터로 받아옵니다. 기본값은 1입니다.

$current_page = isset($_GET['page']) ? intval($_GET['page']) : 1;

 

// 전체 항목 개수를 가져오는 쿼리

$total_items_sql = "SELECT COUNT(*) AS total FROM g5_write_partner";

$total_items_result = mysqli_query($conn, $total_items_sql);

$total_items_row = mysqli_fetch_assoc($total_items_result);

$total_items = intval($total_items_row['total']);

 

// 전체 페이지 개수 계산

$total_pages = ceil($total_items / $items_per_page);

 

// 현재 페이지 번호가 범위를 벗어난 경우 첫 페이지로 설정

if ($current_page < 1) {

    $current_page = 1;

} elseif ($current_page > $total_pages) {

    $current_page = $total_pages;

}

 

// 현재 페이지에 해당하는 항목들을 가져오는 쿼리

$offset = ($current_page - 1) * $items_per_page;

$sql = "SELECT * FROM g5_write_partner ORDER BY wr_id ASC LIMIT $offset, $items_per_page";

$result = mysqli_query($conn, $sql);

 

$bo_table ="partner";

$thumb = get_list_thumbnail($bo_table, $row['wr_id'], 75, 73, false, true);

?>

 

            <ul class="item_list">

            <?php

        // 데이터가 존재하는 경우

        if (mysqli_num_rows($result) > 0) {

            // 결과를 반복문으로 처리하여 화면에 출력

            while ($row = mysqli_fetch_assoc($result)) {

                $wr_id = $row['wr_id'];

                $wr_1 = $row['wr_1'];

                $wr_3 = $row['wr_3'];

                $wr_4 = $row['wr_4'];

                $wr_7 = $row['wr_7'];

                $wr_subject = $row['wr_subject'];

                $thumb = $row['img_content'];

            ?>  

        <li>

          <div class="img">

          <?php

                if ($thumb) {

                    echo '<img src="' . $thumb . '">';

                } else {

                    echo '<i>등록된 이미지가 없습니다.</i>';

                }

                ?>

          </div>

          <div class="info">

            <div class="tip">

              <div class="badge_wrap_mo"></div>

              <div class="badge_wrap">

                <div class="badge"></div>

              </div>

              <button class="wish_btn"><i class="fa fa-heart"></i></button>

              <p>코드번호 <?php echo $wr_id; ?></p>

            </div>

            <div class="tit">

              <div class="price"><?php echo $wr_subject; ?></div>

              <div class="desc"><?php echo $wr_3; ?></div>

              <div class="loca"><?php echo $wr_4; ?></div>

            </div>

            <div class="kwd">

              <span>연락처</span>

              <span><?php echo $wr_7; ?></span>

            </div>

          </div>

        </li>      

 

<?php

    }

} else {

    // 데이터가 없는 경우

    echo '데이터가 없습니다.';

}

 

// 데이터베이스 연결 종료

mysqli_close($conn);

?>

 

</ul>

가른 항목들은 잘 출력이 되는데 이미지 부분만 출력이 안됩니다.

여러가지 방법으로 적용을 해봤는데 쉽지가 않네요.. 

고수님들의 조언 부탁드리겠습니다.

좋은 하루 되세요

답변 1개 / 댓글 2개

채택된 답변
+20 포인트

get_list_thumbnail 을 while 문 내로 이동하세요.

Copy
<?php

        // 데이터가 존재하는 경우

        if (mysqli_num_rows($result) > 0) {

            // 결과를 반복문으로 처리하여 화면에 출력

            while ($row = mysqli_fetch_assoc($result)) {

                $wr_id = $row['wr_id'];

                $wr_1 = $row['wr_1'];

                $wr_3 = $row['wr_3'];

                $wr_4 = $row['wr_4'];

                $wr_7 = $row['wr_7'];

                $wr_subject = $row['wr_subject'];

                $thumb = get_list_thumbnail($bo_table, $row['wr_id'], 75, 73, false, true);

                $thumb = $row['img_content'];

            ?>

답변에 대한 댓글 2개

@eyekiss 안녕하세요~
늦은 시간에 답변 주셔서 감사합니다.
알려주신 방법으로 수정을 해봐도 썸네일은 표시가 안되네요..ㅠㅠ
자체 해결했습니다.
preg_match() 함수를 통해 $thumbnail_path에 이미지 경로를 할당해서 불러오는 것으로 해결했습니다. 조언해 주셔서 감사합니다.
좋은 밤 되세요

답변을 작성하려면 로그인이 필요합니다.