도와주세요 ㅠㅠ 댓글 갯수 표시에서...ㅠㅠ

도와주세요 ㅠㅠ 댓글 갯수 표시에서...ㅠㅠ

QA

도와주세요 ㅠㅠ 댓글 갯수 표시에서...ㅠㅠ

본문

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

 

일전에 여기서 도움을 받아 기존에 list_skin.php에서 최근 7일간 등록된 댓글 갯수를 목록에 표시하였는데요.

 

for ($i=0; $i<count($list); $i++) {
$sql = "select count(*) as cnt from {$write_table} where wr_datetime>=DATE_ADD(now(), interval -1 WEEK)  and wr_parent='{$list[$i]['wr_id']}' and wr_is_comment=1";
$rows = sql_fetch($sql);
$com_count = (int)$rows['cnt'];

 

출력은 $com_count로

 

이렇게 해서 완벽하게 글목록에서 출력이 되는데

 

다음지도 api에서 다수의 마커 인포창에 최근 7일간 등록된 댓글 갯수를 표시하려니 너무너무 힘이 듭니다. 벌써 이틀째 머리 짜내고 있어요 ㅠㅠ

 

다음지도 api상에서


<?
$sql = " select * from {$write_table} order by wr_id asc ";
$result = sql_query($sql);
$cnt = 0;
while ($row = sql_fetch_array($result))
{ 
    if($row[wr_29] && $row[wr_30]) {
    for ($i=0; $i<count($list); $i++) {
    $sql = "select count(*) as cnt from {$write_table} where wr_datetime>=DATE_ADD(now(), interval -1 WEEK)  and wr_parent='{$list[$i]['wr_id']}' and wr_is_comment=1";
    $rows = sql_fetch($sql);
    $com_count = (int)$rows['cnt'];
    ?>
    // 마커를 생성합니다
    var marker = new daum.maps.Marker({
        map: map, // 마커를 표시할 지도
        position: new daum.maps.LatLng(<?=$row[wr_29]?>, <?=$row[wr_30]?>) // 마커의 위치
    });
    
    var iwContent = '<div style="width:150px;text-align:center;padding:10px 0;"><?=$row[wr_subject]?></div><br>  <?=$row[wr_10]?><br>  <?=$row[wr_11]?><br>  <?=$row[wr_12]?><br>  <?=$row[wr_13]?><br>  <?=$row[wr_14]?><br><br>  <a href="./board.php?bo_table=<?=$GLOBALS['bo_table']?>&wr_id=<?=$row[wr_id]?>" style="color:blue">방보기</a><br><br><br>  최근일주일 등록공실 <?php echo $com_count?>개<br><br>',
        removable = true; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다
    var infowindow = new daum.maps.InfoWindow({
        content: iwContent,
        removable : removable
    });
    // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
    // 이벤트 리스너로는 클로저를 만들어 등록합니다 
    // for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다
    //daum.maps.event.addListener(marker, 'click', br_redirect(positions[i].wr_id));
    // 마커에 click 이벤트를 등록합니다
    daum.maps.event.addListener(marker, 'click', makeOverListener(map, marker, infowindow)); 
<?
    $cnt++;
}
}
}
?>

 

여기서 추가하려니 for문을 넣고 하는것도 안되고 제가 초보다 보니 이것저것 시도해봐도 되질 않습니다 ㅠㅠ

 

어떻게 해야 뜰까요 ㅠㅠ

 

도와주세요 ㅠㅠ

이 질문에 댓글 쓰기 :

답변 6

지도 출력이 리스트인지? 본문인지 모르지만요.

 

<?php
$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'];
?>
// 마커를 생성합니다
var marker = new daum.maps.Marker({
map: map, // 마커를 표시할 지도
position: new daum.maps.LatLng(<?php echo $row['wr_29']?>, <?php echo $row['wr_30']?>) // 마커의 위치
});

var iwContent='<div style="width:150px;text-align:center;padding:10px 0;"><?php echo $row['wr_subject']?></div><br>  <?php echo $row['wr_10']?><br><?php echo $row['wr_11']?><br><?php echo $row['wr_12']?><br>  <?php echo $row['wr_13']?><br>  <?php echo $row[wr_14]?><br><br>  <a href="./board.php?bo_table=<?php echo $GLOBALS['bo_table']?>&wr_id=<?php echo $row['wr_id']?>" style="color:blue">방보기</a><br><br><br>  최근일주일 등록공실 <?php echo $com_count?>개<br><br>',
removable = true; // removeable 속성을 ture 로 설정하면 인포윈도우를 닫을 수 있는 x버튼이 표시됩니다
var infowindow = new daum.maps.InfoWindow({
content: iwContent,
removable : removable
});
// 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다
// 이벤트 리스너로는 클로저를 만들어 등록합니다
// for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다
//daum.maps.event.addListener(marker, 'click', br_redirect(positions[i].wr_id));
// 마커에 click 이벤트를 등록합니다
daum.maps.event.addListener(marker, 'click', makeOverListener(map, marker, infowindow));
<?php
$cnt++;
}
?>

 

 

조민님 또 도움주셔서 감사해요ㅜㅜ
리스트에서 뜨는거구요 ㅜㅜ
적용해 보았는데 아직 일주일 댓글은 반응이 없구요 ㅜㅜ
간혈적으로 조회수는 카운트가 되요 ㅜㅜ 10개중에 5개 정도요 ㅜㅜ

조회수라뇨?

질문으로 올리신 소스에는 조회수 출력 변수는 없는거 같은데요?

질문글에 소스를 토대로 조회수라면  $row['wr_hit'] 일듯 싶네요.

 

var iwContent = '<div style="width:150px;text-align:center;padding:10px 0;"><?=$row[wr_subject]?></div><br>&nbsp;&nbsp;<?=$row[wr_10]?><br>&nbsp;&nbsp;<?=$row[wr_11]?><br>&nbsp;&nbsp;<?=$row[wr_12]?><br>&nbsp;&nbsp;<?=$row[wr_13]?><br>&nbsp;&nbsp;<?=$row[wr_14]?><br><br>&nbsp;&nbsp;<a href="./board.php?bo_table=<?=$GLOBALS['bo_table']?>&wr_id=<?=$row[wr_id]?>" style="color:blue">방보기</a><br><br><br>&nbsp;&nbsp;최근일주일 등록공실 <?php echo $com_count?>개<br><br><div class="gall_info"><span class="sound_only">조회 </span><strong><i class="fa fa-eye" aria-hidden="true"></i> <?php echo $list[$i]['wr_hit'] ?></strong><?php if ($is_good) { ?><span class="sound_only">추천</span><strong><i class="fa fa-thumbs-o-up" aria-hidden="true"></i> <?php echo $list[$i]['wr_good'] ?></strong><?php } ?><?php if ($is_nogood) { ?><span class="sound_only">비추천</span><strong><i class="fa fa-thumbs-o-down" aria-hidden="true"></i> <?php echo $list[$i]['wr_nogood'] ?></strong><?php } ?><span class="sound_only">작성일 </span><span class="date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $list[$i]['datetime2'] ?></span></div>',

이렇게요 ㅜㅜ

반복문을 중복으로 불러 오신것 같은데요..

처음 답변 무시하시구요..

간결하게 ....

 

질문으로 올린 소스를 살펴서

 

<?
$sql = " select * from {$write_table} order by wr_id asc ";
$result = sql_query($sql);
$cnt = 0;
while ($row = sql_fetch_array($result))
{
if($row[wr_29] && $row[wr_30]) {
for ($i=0; $i<count($list); $i++) {
$sql = "select count(*) as cnt from {$write_table} where wr_datetime>=DATE_ADD(now(), interval -1 WEEK)  and wr_parent='{$list[$i]['wr_id']}' and wr_is_comment=1";
$rows = sql_fetch($sql);
$com_count = (int)$rows['cnt'];
?>

 

위에 소스를 아래 소스로 변경해 보세요.

 

<?php
$cnt=0;
for($i=0; $i<count($list); $i++) {

if($list[$i]['wr_29'] && $list[$i]['wr_30']) {

$sql="select count(*) as cnt from {$write_table} where wr_datetime>=DATE_ADD(now(), interval -1 WEEK) and wr_parent='{$list[$i]['wr_id']}' and wr_is_comment=1";
$rows=sql_fetch($sql);
$com_count=(int)$rows['cnt'];
?>

 

다음) 

 

이글 바로 위에 올린 사용자분의 소스중

 

$row - > $list[$i] 이런식으로 모두 바꿔줍니다

예 : $row['wr_10']  - > $list[$i]['wr_10'] 이런식으로

 

다음)

 

for문을 닫아주는 소스를

 

<?php
$cnt++;
}
}
?>

 

윗 소스처럼 되도록...

답변글 잘 보시고.

절충해서 참고해 보세요.

감사합니다 조민님 완벽하게 조회수 일주일 공실 다 뜹니다 ㅜㅜ
다만 도움주신 코드 적용시 wr_29 wr_30 이 지도 좌표값인데 전페 100개가 있으면 절반 50개정도밖에 표시를 안합니다 ㅜㅜ
여튼 도움 주셔서 정말 감사합니다 ㅜㅜ

조민님 해결했어요 ㅠㅠ
첫번째로 주신 코드로 $row 쓰고 게시글등록날짜 삭제하니 완벽하게 됩니다 ㅠㅠ
매번 도움주셔서 감사합니다 ㅠㅠㅠㅠㅠㅠㅠ
정말정말 감사합니다 ㅠㅠ

@송상준 

무슨 말씀인지 이해가 안됩니다.

페이지가 어디로 넘어가는지.... 

소스가 수정 되었으면 그에 맞게 교정/수정이 필요할 수도 이겠죠.

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

회원로그인

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