테스트 사이트 - 개발 중인 베타 버전입니다

리스트에서 삭제/수정이 정상적으로 안되요. 채택완료

싸이언 1년 전 조회 1,956

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=150

</p>

<p><?php

$update_href = $delete_href = '';

set_session('ss_delete_token', $token = uniqid(time()));</p>

<p>for ($i=0; $i<count($list); $i++) {

// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능

if (($member['mb_id'] && ($member['mb_id'] === $list[$i]['mb_id'])) || $is_admin) {

$update_href = './write.php?w=u&amp;bo_table='.$bo_table.'&amp;wr_id='.$list[$i]['wr_id'].'&amp;page='.$page.$qstr;

$delete_href ='./delete.php?bo_table='.$bo_table.'&amp;wr_id='.$list[$i]['wr_id'].'&amp;token='.$token.'&amp;page='.$page.urldecode($qstr);

}

else if (!$list[$i]['mb_id']) { // 회원이 쓴 글이 아니라면

$update_href = './password.php?w=u&amp;bo_table='.$bo_table.'&amp;wr_id='.$list[$i]['wr_id'].'&amp;page='.$page.$qstr;

$delete_href = './password.php?w=d&amp;bo_table='.$bo_table.'&amp;wr_id='.$list[$i]['wr_id'].'&amp;page='.$page.$qstr;

}?></p>

<p> </p>

<p>//버튼 출력</p>

<p><?php if ($update_href) { ?><a id="modify" href="<?php echo $update_href ?>"><img src="<?php echo G5_IMG_URL ?>/ban.png">수정하기</a><?php } ?>

<?php if ($delete_href) { ?><a id="delete" href="<?php echo $delete_href ?>" onclick="del(this.href); return false;"><img src="<?php echo G5_IMG_URL ?>/ban.png">삭제하기</a><?php } ?></p>

<p>

 

그누스터디의 리스트에서 삭제/수정 하는 로직을 위 코드 그대로 붙여넣었습니다.

 

문제는 버튼 출력 조건이 해당 게시글이 아니라 마지막 게시글(wr_id가 가장 높은)을 기준으로

내가 작성한글 뿐만 아니라 모든 게시글에 버튼이 다 출력이 되구요

그리고 다른 게시글을 삭제해도 마지막 게시글이 삭제가 되네요.

 

각 게시글마다 $list[$i]['mb_id'],$member['mb_id'],$update_href 은 정상적으로 뜹니다.

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

답변 3개

채택된 답변
+20 포인트
WOODIsoft
1년 전

 

<?php
$update_href = $delete_href = '';
set_session('ss_delete_token', $token = uniqid(time()));
for ($i=0; $i<count($list); $i++) {
    if (($member['mb_id'] && ($member['mb_id'] === $list[$i]['mb_id'])) || $is_admin) {
        $update_href = './write.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
        $delete_href ='./delete.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&token='.$token.'&page='.$page.urldecode($qstr);
    }
    else if (!$list[$i]['mb_id']) { // 회원이 쓴 글이 아니라면
        $update_href = './password.php?w=u&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
        $delete_href = './password.php?w=d&bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&page='.$page.$qstr;
    }
?>

// 버튼 출력
<?php if ($update_href) { ?><a class="modify-btn" href="<?php echo $update_href ?>"><img src="<?php echo G5_IMG_URL ?>/ban.png">수정하기</a><?php } ?>
<?php if ($delete_href) { ?><a class="delete-btn" href="<?php echo $delete_href ?>" onclick="return confirm('정말 삭제하시겠습니까?');"><img src="<?php echo G5_IMG_URL ?>/ban.png">삭제하기</a><?php } ?>

<?php } ?>

이렇게 해보세요~

로그인 후 평가할 수 있습니다

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

1년 전

for 문 바로 다음 행에 넣으세요

$update_href = $delete_href ='';

 

 

로그인 후 평가할 수 있습니다

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

1년 전

어려운 코드네요

로그인 후 평가할 수 있습니다

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

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

로그인