제목 | 계층형게시판 질문 | ||
---|---|---|---|
카테고리 | DB | ||
글쓴이 | yumin | 작성시각 | 2019/01/03 11:39:04 |
|
|||
계층형에서 group ord depth 가 있는데 group ord depth 1번 글 1 1 0 답글 1-1 1 2 1 답글 1-2 1 3 1
여기서 ord값을 예시 처럼 순차적으로 증가 시켜주고 싶은데 업데이트문을 작성을 할떄 조건을 어떻게 주면 좋을 까요?
제가 해본 방법으론 저렇게가 안나오더라구요 마지막 ord 값만 가져올수 있으면 되는데요
|
|||
다음글 | PHPExcel에대해 질문구해봅니다! (3) | ||
이전글 | domain.com/abc와 같은 상대 경로로 다른 I... (6) | ||
한대승(불의회상)
/
2019/01/03 11:44:52 /
추천
0
|
yumin
/
2019/01/03 12:01:13 /
추천
0
$sql = "SELECT max(ord) FROM ci_board WHERE group_num='" . $arrays['parent'] . "'"; $query=$this->db->query($sql); $result = $query->row(); $sql0 = "UPDATE ci_board SET ".$result."+1 WHERE group_num='" . $arrays['parent'] . "'"; $this->db->query($sql0); 이렇게 해봤는데 ci 에서 모델 쪽에서 이렇게 하면 안되는데 어디 가 잘못될는지
$result 값이 안들어 가네요.
|
한대승(불의회상)
/
2019/01/03 12:04:27 /
추천
0
var_dump($result) 해보세요. |
yumin
/
2019/01/03 12:09:39 /
추천
0
C:\xampp\htdocs\bbs\application\models\board_m.php:114: object(stdClass)[20] public 'max(ord)' => string '1' (length=1) 1이 맞는데 업데이트 문에서는 값이 안들어가서 데이터베이스 오류가 뜨는 것 같습니다 |
yumin
/
2019/01/03 12:15:44 /
추천
0
1이 맞는데 업데이트 문에서는 값이 안들어가서 데이터베이스 오류가 뜨는 것 같습니다
|
변종원(웅파)
/
2019/01/03 12:17:05 /
추천
0
max(ord) as maxOrd $result->maxOrd 로 써야합니다. set 구문도 틀렸구요. set ord=ord+$resut 가 되어야 합니다. |
yumin
/
2019/01/03 12:24:51 /
추천
0
이렇게 해도 안되는데 지금 프레임워크로 진행하고 있습니다 $sql = "SELECT max(ord) as maxOrd FROM ci_board WHERE group_num='" . $arrays['parent'] . "'"; $result=$this->db->query($sql); $result->maxOrd; $sql0 = "UPDATE ci_board SET ord=ord+".$result." WHERE group_num='" . $arrays['parent'] . "'"; $this->db->query($sql0); |
한대승(불의회상)
/
2019/01/03 13:55:35 /
추천
0
@yumin 화이팅~
|
홍구2
/
2019/01/08 13:54:00 /
추천
0
해당사항이 없을 때 시작값을 1로 두고, DB에 기존이 있다면 거기에 1을 더해줘서 만들면 될 것 같은데요. sql을 임의 작성하기보다 되도록 쿼리빌더에서 제공하는 메서드 쓰는 것을 추천합니다. $maxOrd = 1; $row = $this->db->select_max('ord', 'maxOrd')->where('group_num', 1)->get('ci_board')->row(); if ($row->maxOrd !== null) { $maxOrd = $row->maxOrd + 1; }
|
이렇게 하면 되지 않을까요?