제목 | delete 후 코드 실행 | ||
---|---|---|---|
카테고리 | PHP | ||
글쓴이 | bmalmj | 작성시각 | 2022/10/27 15:44:32 |
|
|||
게시판에서 여러개 게시물 선택 후 선택한 게시물을 삭제하려고합니다 삭제 후 게시물에 첨부되어있던 파일(서버에 올라간 파일)도 같이 삭제하려고하는데 php도 코드이그나이터도 처음이라 뭐가 문제인지 잘모르겠어서 여쭤봅니다! [뷰 소스] //게시물 삭제 function deleteBoard() { //deleteBoardList : 여러개 $.ajax({ type : "POST", url : "/board/deleteBoard", data:{re_idx: deleteBoardList}, dataType : 'json', success: function(data) { deleteBoardFile(deleteBoardList); }, error: function(error) { console.log("error"); } }); } //게시물 파일 삭제 function deleteBoardFile(deleteBoardList) { $.ajax({ type : "POST", url : "/board/deleteBoardFile", data:{re_idx: deleteBoardList}, dataType : 'json', success: function(data) {}, error: function(error) { console.log("error"); } }); } [컨트롤러] public function deleteBoard() { $re_idx = $this->input->post_get('re_idx');
$this->RM->deleteBoard($re_idx); //모델에서 for문으로 삭제
$view = array(); $view['view'] = array();
$view['view']['data'] = array( 'result' => $error ? 'fail' : 'success' );
echo json_encode($view); } public function deleteBoardFile() { $upload_path = config_item('uploads_dir') . '/file/board'; $re_idx = $this->input->post_get('re_idx'); //저장된 파일 삭제 for($i=0; i<count($re_idx); $i++) { $encFileNm = $this->RM->getReportEncFileNm($re_idx[$i]);
if(!empty($encFileNm)) { unlink($upload_path.'/'.$encFileNm); } }
$view = array(); $view['view'] = array();
$view['view']['data'] = array( 'result' => $error ? 'fail' : 'success' );
echo json_encode($view); } ========================= 한 곳에 같이 넣어서 실행해봤는데 deleteBoard만 실행되고 나머지는 실행이 안됐었습니다. public function deleteBoard() { $upload_path = config_item('uploads_dir') . '/file/board'; $re_idx = $this->input->post_get('re_idx');
$this->RM->deleteBoard($re_idx);
//저장된 파일 삭제 for($i=0; i<count($re_idx); $i++) { $encFileNm = $this->RM->getReportEncFileNm($re_idx[$i]);
if(!empty($encFileNm)) { unlink($upload_path.'/'.$encFileNm); } }
$view = array(); $view['view'] = array();
$view['view']['data'] = array( 'result' => $error ? 'fail' : 'success' );
echo json_encode($view); } 또 따로따로 하나씩만 (게시물만 삭제, 게시물에첨부된 파일만 삭제) 실행해봤을때는 정상적으로 실행되는데 같이 쓰거나 처음 소스 처럼 한 프로세스 실행 후 실행하면 처음 프로세스만 실행되고 두번째 프로세스는 실행되지 않습니다. 왜그런걸까요....? |
|||
다음글 | figure 에 대한 질문 (3) | ||
이전글 | 한 div 의 image alpha값을 다른 엘리먼트에... | ||
변종원(웅파)
/
2022/10/27 18:28:31 /
추천
0
|
한대승(불의회상)
/
2022/10/27 18:29:40 /
추천
0
올려주신 코드상으론 정상적으로 삭제될 것 같은데요. log_message() 함수를 사용하여 for 루프 단계별 로그를 남기며 확인해 보셔야 할 것 같습니다. 코드이그나이터 버전을 알 수 없어 3.X 메뉴얼 링크 남깁니다. http://www.ciboard.co.kr/user_guide/kr/general/errors.html#log_message |
bmalmj
/
2022/10/28 09:58:05 /
추천
0
@변종원(웅파) 답변 감사합니다. 마지막처리는 어떤걸 말씀하시는 걸까요? model에서는 function deleteBoard($re_idx) { 로 처리되고 화면에서는 success 일 때 location.href = './board'; (테스트할때는 빼고 사용했습니다)로 처리 됩니다. @한대승(불의회상) 답변 감사합니다. 3버전을 사용하고있어서 참고할 수 있을 것 같습니다. for문에 log_message('error', 'Some variable did not contain a value.') 입력하고 실행했더니 로그파일이 무한루프로 에러메시지가 계속 뜨고 있습니다....검색해도 멈추는 방법이 안나오는데 어떻게 해야할까요...? |
한대승(불의회상)
/
2022/10/28 11:01:10 /
추천
0
무한루프가 왜 도는지(웹 브라우져에서 ajax 호출이 계속되는지... 루프 종료 조건이 이상한지... 등) 확인해야 겠죠.
|
리턴된 내용 또는 로그메세지에 뭔가 답이 있을 겁니다.
$this->RM->deleteBoard($re_idx); 이 함수에서 마지막에 어떻게 처리하는지 궁금하네요?