함수 질문입니다~~ 채택완료
lacomparte
7년 전
조회 1,987
</p>
<p>function last_agency () {
global $bo_table;
global $g5;
global $write_table;
global $update_agency; </p>
<p> if ($row['cnt'] >= $update_agency){
// 6페이지 첫번째 게시물 구하는 쿼리
$sql = sql_fetch("SELECT * FROM {$write_table} WHERE wr_is_comment = 0 ORDER BY wr_11 ASC LIMIT $update_agency,1");
$update_article = $sql['wr_id'];
// 첫번째 게시물 구하는 쿼리
$sql_a = sql_fetch("SELECT * FROM {$write_table} WHERE wr_is_comment = 0 ORDER BY wr_11 limit 1");
$update_wr11 = $sql_a['wr_11'] - 1;</p>
<p> // 만약에 6페이지 첫번째 게시물의 wr_10값이 있다면
if ($sql['wr_10'] == 'agency') {
sql_query("UPDATE {$write_table} SET wr_11 = $update_wr11 WHERE wr_id = $update_article");</p>
<p> // 1페이지로 삽입된 게시물이 해당 게시판의 bo_count_write 에 +1 이 되므로 다시 -1 해준다
//sql_query("UPDATE {$g5['board_table']} SET bo_count_write = bo_count_write -1 WHERE bo_table = '$bo_table'");
}
}
}</p>
<p>
$sql_last = sql_fetch("SELECT * FROM {$write_table} WHERE wr_is_comment = 0 ORDER BY wr_11 ASC LIMIT $update_agency,1");
if ($sql_last['wr_10'] == 'agency') {
// 함수 실행
last_agency();
echo "함수 실행한다";
}</p>
<p>
last_agency 를
마지막 if문인 ($sql_last['wr_10'] == 'agency') 이 거짓일 때까지
실행시켜주려면..
어떻게 짜야할까요;
$sql_last['wr_10'] 필드에 agency가 있으면 계속 함수를 실행하고
싶은데.. 잘 모르겠습니다..!
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
7년 전
원하는 게시물을 리스트로 가져와야 합니다.
</p>
<p>$sql=sql_query("SELECT * FROM {$write_table} WHERE wr_is_comment = 0 ORDER BY wr_11 ASC LIMIT $update_agency,1");</p>
<p>while($row=sql_fetch_array($sql)) {</p>
<p> if ($row['wr_10'] == 'agency') {</p>
<p> // 함수 실행</p>
<p> last_agency();</p>
<p> echo "함수 실행한다";</p>
<p> } else {</p>
<p> break;</p>
<p> }</p>
<p>}</p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
l
lacomparte
7년 전
e
eyekiss
7년 전
이렇게 새글이 insert 된 뒤에 6페이지 첫번째 게시물이 1페이 첫번째 게시물로 온다면
5페이지 마지막 게시물이 다시 6페이지 첫번째 게시물로 가는 상황이 발생하는데요.
=> 그럼 6페이지 첫번째 게시물의 wr_10의 agency 만 삭제하면 되는거 아닌가요??
5페이지 마지막 게시물이 다시 6페이지 첫번째 게시물로 가는 상황이 발생하는데요.
=> 그럼 6페이지 첫번째 게시물의 wr_10의 agency 만 삭제하면 되는거 아닌가요??
l
lacomparte
7년 전
위의 함수가 실행되는 게시판은
게시물 종류가 2가지 입니다.
일반게시물과 돈받고 게시해주는 게시물
이렇게 2가지 입니다.
위 2가지 게시물은 기본 등록일 기준으로 정렬되구요
돈받고 게시해주는 게시물은
5페이지 이내에만 머물러 있어야 합니다.
그렇기 때문에..
제가 여쭤본거구요 ㅠ
게시물 종류가 2가지 입니다.
일반게시물과 돈받고 게시해주는 게시물
이렇게 2가지 입니다.
위 2가지 게시물은 기본 등록일 기준으로 정렬되구요
돈받고 게시해주는 게시물은
5페이지 이내에만 머물러 있어야 합니다.
그렇기 때문에..
제가 여쭤본거구요 ㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
새글을 작성하면 wr_num 을 wr_11에 복사해서
list.php 에서 해당 게시판은 wr_11로 정렬시킵니다.
5페이지 이내에만 머물러 있어야 하는 게시물이 존재하기 때문인데요.
5페이지 이내에 등등 조건은 다 적용했습니다.
위의 소스는 write_update.php 안에 들어가 있구요.
$w == '' 일때 실행됩니다.
다만, 문제가 하나 있는데요.
write_update가 게시글 하나를 insert 시킨 뒤에 last_agency() 라는 함수가 나오는데요.
게시글 하나가 insert 된 뒤에 조건이 맞아 함수가 실행되면
리스트에 쌓이는 게시물 순서는 아래와 같습니다.
* 함수로 인해 1페이지 첫번째로 온 게시물.
* 새글
* .
* .
이렇게 새글이 insert 된 뒤에 6페이지 첫번째 게시물이 1페이 첫번째 게시물로 온다면
5페이지 마지막 게시물이 다시 6페이지 첫번째 게시물로 가는 상황이 발생하는데요.
이때 다시 함수를 실행시켜주려면 어떻게 로직을 구현해야 할까요?ㅠ