뷰페이지에서 게시판 카테고리 옆에 게시판목록을 셀렉트 박스로 쓰고싶습니다.

뷰페이지에서 게시판 카테고리 옆에 게시판목록을 셀렉트 박스로 쓰고싶습니다.

QA

뷰페이지에서 게시판 카테고리 옆에 게시판목록을 셀렉트 박스로 쓰고싶습니다.

답변 2

본문

보통 카테고리가 1차카테 2차카테고리가 있는데

저는 1차카테고리안에 있는 게시글목록을 바로 셀렉트박스에 넣어 이동시키고 싶습니다.

 

예를들어

 

딸기 > a게시글, b게시글, c게시글

포도 > a게시글, b게시글

 

해당카테고리에 있는 게시글목록을 바로 불러와서 셀렉트박스를 선택하면 바로이동할 수 있게요..

팁이 있을까요

이 질문에 댓글 쓰기 :

답변 2

이걸 참고해 보세요~


1. HTML 파일에서 셀렉트 박스와 목록을 표시할 영역을 준비

 

<select id="categorySelect">
  <option value="">카테고리 선택</option>
  <!-- 1차 카테고리 옵션들 -->
</select>

<select id="postSelect">
  <option value="">게시글 선택</option>
  <!-- 해당 카테고리의 게시글 목록 옵션들 -->
</select>

 

2.JavaScript에서 1차 카테고리 선택 시 해당 카테고리에 있는 게시글 목록을 AJAX로 가져와서 셀렉트 박스에 추가

 

$(document).ready(function() {
  // 1차 카테고리 변경 시 이벤트 처리
  $("#categorySelect").change(function() {
    var selectedCategory = $(this).val();
    if (selectedCategory !== "") {
      // AJAX 요청으로 해당 카테고리의 게시글 목록 가져오기
      $.ajax({
        url: "get_posts.php", // 게시글 목록을 가져올 PHP 파일 경로
        method: "POST",
        data: { category: selectedCategory },
        dataType: "json",
        success: function(response) {
          if (response.success) {
            var postOptions = "";
            $.each(response.posts, function(index, post) {
              postOptions += '<option value="' + post.id + '">' + post.title + '</option>';
            });
            // 게시글 목록을 셀렉트 박스에 추가
            $("#postSelect").html('<option value="">게시글 선택</option>' + postOptions);
          }
        }
      });
    } else {
      // 1차 카테고리가 선택되지 않은 경우 게시글 셀렉트 박스 초기화
      $("#postSelect").html('<option value="">게시글 선택</option>');
    }
  });
});

 

 

3. PHP 파일 에서 AJAX 요청을 처리하여 해당 카테고리에 있는 게시글 목록을 반환


<?php
// DB 연결 등 필요한 설정 수행

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $selectedCategory = $_POST["category"];
  
  // 선택된 카테고리에 해당하는 게시글 목록을 DB에서 가져오는 로직 작성
  
  // 가져온 게시글 목록을 JSON 형식으로 반환
  $response = array(
    "success" => true,
    "posts" => array(
      array("id" => 1, "title" => "a게시글"),
      array("id" => 2, "title" => "b게시글"),
      array("id" => 3, "title" => "c게시글")
    )
  );
  
  echo json_encode($response);
  exit;
}
?>


 

view.skin.php

적당한 곳에

<select 
onchange="location.href='?bo_table=<?=$bo_table?>&wr_id='+this.value;" ><?php
$r0=sql_query("select wr_id, wr_subject from $write_table where ca_name='$sca' and wr_is_comment=0");
while( $r1= sql_fetch( $r0)){
Echo '<option value="', $r1['wr_id'],'" >', $r1['wr_subject'],'</option>';
}
?></select>

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 31
© SIRSOFT
현재 페이지 제일 처음으로