그누보드5 메인화면 최신글을 이렇게 읽어올순 없을까요?ㅠㅠ

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
그누보드5 메인화면 최신글을 이렇게 읽어올순 없을까요?ㅠㅠ

QA

그누보드5 메인화면 최신글을 이렇게 읽어올순 없을까요?ㅠㅠ

본문

안녕하세요 그누보드 초보입니다.

 

메인화면 최신글을

 

각 게시판에 있는 모든 게시물을 읽어서 따로 게시판 출력은 안하고 다음지도 api에 출력하고 싶은데요

 

기존엔

 

1794451444_1557387799.0289.png

 

이런식으로 각게시판에 따로 마커를 찍었는데 이걸 메인 최신글에 여러 게시판을 합치고 싶은데요 ㅠㅠ

 


<script>
var mapContainer = document.getElementById('map2'), // 지도의 중심좌표
    mapOption = { 
        center: new daum.maps.LatLng(35.1579791033567,129.0582177555142), // 지도의 중심좌표
        level: 6 // 지도의 확대 레벨
    }; 
var map = new daum.maps.Map(mapContainer, mapOption); // 지도를 생성합니다
// 지도 확대 축소를 제어할 수 있는  줌 컨트롤을 생성합니다
var zoomControl = new daum.maps.ZoomControl();
map.addControl(zoomControl, daum.maps.ControlPosition.RIGHT);

<?
$sql="select * from {$write_table} order by wr_id asc";
$result=sql_query($sql);
$cnt=0;
for($i=0; $row=sql_fetch_array($result); $i++) {
if($row['wr_29'] && $row['wr_30']) {
$sql="select count(*) as cnt from {$write_table} where wr_datetime>=DATE_ADD(now(), interval -1 WEEK)  and wr_parent='{$row['wr_id']}' and wr_is_comment=1";
$rows=sql_fetch($sql);
$com_count=(int)$rows['cnt'];
$thumb = get_list_thumbnail($board['bo_table'], $row['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height']);
if($thumb['src']) {
    $img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_gallery_width'].'" height="'.$board['bo_gallery_height'].'">';
} else {
    $img_content = '<span style="width:'.$board['bo_gallery_width'].'px;height:'.$board['bo_gallery_height'].'px">no image</span>';
}
    ?>
    
    if("<?=$row['wr_4']?>" == "원룸"){
    // 마커를 생성합니다
    var imageSrc = 'http://www.jjbang.info/blue.png', // 마커이미지의 주소입니다    
    imageSize = new daum.maps.Size(40, 40); // 마커이미지의 크기입니다
    // 마커의 이미지정보를 가지고 있는 마커이미지를 생성합니다
    var markerImage = new daum.maps.MarkerImage(imageSrc, imageSize),
    markerPosition = new daum.maps.LatLng(<?=$row['wr_29']?>, <?=$row['wr_30']?>); // 마커가 표시될 위치입니다
    var marker = new daum.maps.Marker({
        map: map, // 마커를 표시할 지도
        position: markerPosition,
        image: markerImage
    });
    } else if("<?=$row['wr_4']?>" == "투룸"){
    // 마커를 생성합니다
    var imageSrc = 'http://www.jjbang.info/green.png', // 마커이미지의 주소입니다    
    imageSize = new daum.maps.Size(40, 40); // 마커이미지의 크기입니다
    
    // 마커의 이미지정보를 가지고 있는 마커이미지를 생성합니다
    var markerImage = new daum.maps.MarkerImage(imageSrc, imageSize),
    markerPosition = new daum.maps.LatLng(<?=$row['wr_29']?>, <?=$row['wr_30']?>); // 마커가 표시될 위치입니다
    var marker = new daum.maps.Marker({
        map: map, // 마커를 표시할 지도
        position: markerPosition,
        image: markerImage
    });
    } else if("<?=$row['wr_4']?>" == "쓰리룸"){
    // 마커를 생성합니다
    var imageSrc = 'http://www.jjbang.info/red.png', // 마커이미지의 주소입니다    
    imageSize = new daum.maps.Size(40, 40); // 마커이미지의 크기입니다
    
    // 마커의 이미지정보를 가지고 있는 마커이미지를 생성합니다
    var markerImage = new daum.maps.MarkerImage(imageSrc, imageSize),
    markerPosition = new daum.maps.LatLng(<?=$row['wr_29']?>, <?=$row['wr_30']?>); // 마커가 표시될 위치입니다
    var marker = new daum.maps.Marker({
        map: map, // 마커를 표시할 지도
        position: markerPosition,
        image: markerImage
    });
    } else if("<?=$row['wr_4']?>" == "복층"){
    // 마커를 생성합니다
    var imageSrc = 'http://www.jjbang.info/black.png', // 마커이미지의 주소입니다    
    imageSize = new daum.maps.Size(40, 40); // 마커이미지의 크기입니다
    
    // 마커의 이미지정보를 가지고 있는 마커이미지를 생성합니다
    var markerImage = new daum.maps.MarkerImage(imageSrc, imageSize),
    markerPosition = new daum.maps.LatLng(<?=$row['wr_29']?>, <?=$row['wr_30']?>); // 마커가 표시될 위치입니다
    var marker = new daum.maps.Marker({
        map: map, // 마커를 표시할 지도
        position: markerPosition,
        image: markerImage
    });
    } else {
    var marker = new daum.maps.Marker({
    map: map, // 마커를 표시할 지도
    position: new daum.maps.LatLng(<?=$row['wr_29']?>, <?=$row['wr_30']?>) // 마커의 위치
    });
    };
<?
if($com_count == 0){
?>
    marker.setOpacity(0.2)
<?
}
?>
    // 마커에 표시할 인포윈도우를 생성합니다 
    var infowindow = new daum.maps.InfoWindow({
        content: '<p><?echo $img_content?></p><p><div style="width:150px;text-align:center;padding:10px 0;"><?=$row['wr_subject']?></p></div><p>  <?=$row['wr_10']?></p><p>  <?=$row['wr_11']?></p><p>  <?=$row['wr_12']?></p><p>  <?=$row['wr_13']?></p><p>  <?=$row['wr_14']?></p><p>  최근일주일 등록공실 <?=$com_count?>개</p><p>  <div class="gall_info"><span class="sound_only">조회 </span>  <strong><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $row['wr_hit'] ?></strong> <span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $row['wr_good'] ?></strong> <span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $row['wr_nogood'] ?></strong></div></p><br>', // 인포윈도우에 표시할 내용
/*          content : '<div class="mapwrap">' + 
                    '    <div class="mapinfo">' + 
                    '        <div class="maptitle">' + 
                    '            <?=$row[wr_subject]?>' + 
                    '            <div class="mapclose" onclick="closeOverlay()" title="닫기"></div>' + 
                    '        </div>' + 
                    '        <div class="mapbody">' + 
                    '            <div class="mapimg">' +
                    '                <?php
                                         $v_img_count = count($row['file']);
                                         if($v_img_count) {
                                         echo "<div id=\"bo_v_img\" style=\"width:73px; height:70px;\">";
                                         if ($row['file'][0]['view']) {
                                         echo get_view_thumbnail($row['file'][0]['view']);
                                         }
                                         else {
                                         echo "<img src=$board_skin_url/img/no_image.gif>";
                                         }
                                         echo "</div>";
                                         }
                                     ?>' +
                    '           </div>' + 
                    '            <div class="mapdesc">' + 
                    '                <div class="mapellipsis"><?=$row[wr_5]?></div>' + 
                    '                <div class="mapjibun mapellipsis"><i class="fa fa-phone-square" aria-hidden="true"></i> <?=$row[wr_6]?></div>' + 
                    '                <div><i class="fa fa-wifi" aria-hidden="true"></i> <a href="<?=$row[wr_7]?>" target="_blank" class="maplink"><?=$row[wr_7]?></a>' + 
                    '            </div>' + 
                    '        </div>' + 
                    '    </div>' +    
                    '</div>'
*/
    });
    // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
    // 이벤트 리스너로는 클로저를 만들어 등록합니다 
    // for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다
    daum.maps.event.addListener(marker, 'mouseover', makeOverListener(map, marker, infowindow));
    daum.maps.event.addListener(marker, 'mouseout', makeOutListener(infowindow));
    //daum.maps.event.addListener(marker, 'click', br_redirect(positions[i].wr_id));
    // 마커에 click 이벤트를 등록합니다
    daum.maps.event.addListener(marker, 'click', function() {
        window.open('./board.php?bo_table=<?=$GLOBALS['bo_table']?>&wr_id=<?=$row[wr_id]?>', "_blank");
    });
    map.setCenter(new daum.maps.LatLng(<?=$row['wr_29']?>, <?=$row['wr_30']?>));
<?
    $cnt++;
}
}
?>
// 인포윈도우를 표시하는 클로저를 만드는 함수입니다 
function makeOverListener(map, marker, infowindow) {
    return function() {
        infowindow.open(map, marker);
    };
}
// 인포윈도우를 닫는 클로저를 만드는 함수입니다 
function makeOutListener(infowindow) {
    return function() {
        infowindow.close();
    };
}
</script>

 

여기서 $sql="select * from {$write_table} order by wr_id asc"; 이걸 모든 게시판에 있는걸 긁어오고 싶은데 검색해봐도 너무너무 어려워요 ㅠㅠ

 

여러 게시판에 있는걸 하나로 취합해야 한다는데 ㅠㅠ

 

제가 실력이 부족한지라...ㅠㅠ

 

도와주세요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 1

g5_write_a, g5_write_b, g5_write_c

를 3개 게시판이라면

다음과 같이 쿼리로 호출하셔서 통합하시면됩니다.

실제 위,경도는 wr_29, wr_30 필드에 있기 때문에 각 테이블에 wr_29, wr_30 값을 가져왔고

wr_4는 보니깐 라벨명이기에 가져왔습니다.

wr_is_comment는 게시물만(댓글 X) 검색하기 위해

wr_datetime는 게시글 작성 순서로 정열하기 위해

가져온것이고

다른 정보를 가져 오실려면

 

 wr_4, wr_29, wr_30, wr_is_comment, wr_datetime 부분에 추가 하시면 되며

3개의 테이블 똑같이 추가해주셔야 합니다. 하나라도 틀리게 가져 올경우 엘리어스를 써야는데

초보시라고 하니깐 그냥 똑같이 쓰세요



    $sql = " 
            select 
                * 
            from
                (
                        select
                            wr_4, wr_29, wr_30, wr_is_comment, wr_datetime
                        from g5_write_a
                    union all
                        select
                            wr_4, wr_29, wr_30, wr_is_comment, wr_datetime
                        from g5_write_b
                    union all
                        select
                            wr_4, wr_29, wr_30, wr_is_comment, wr_datetime
                        from g5_write_c
                ) X
            where
                wr_is_comment = 0 
            order 
                by wr_datetime desc
            ";

$spl이 하단에 하나 더 있어서 그런거 같기도 해요 ㅠㅠ
$sql="select count(*) as cnt from {$write_table} where wr_datetime>=DATE_ADD(now(), interval -1 WEEK)  and wr_parent='{$row['wr_id']}' and wr_is_comment=1";
이게 바로밑에 또 나오거든요 ㅠㅠ
7일동안 등록된 댓글 갯수 구하는건데 ㅠㅠ 이거때문에 에러나는거 같아요 ㅠㅠ

답변을 작성하시기 전에 로그인 해주세요.
전체 124,178 | RSS
QA 내용 검색

회원로그인

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