| 제목 | dbforge 에 대한 질문.. | ||
|---|---|---|---|
| 글쓴이 | 루디아 | 작성시각 | 2009/10/06 10:51:33 | 
|  | |||
| 관리클래스를 아래와같이 로드합니다: 참고로 저는 CI는 1.7.1 와 match box 0.9.4를 사용하고 있습니다. | |||
| 다음글 | 체크박스 다중값 어케 넘겨 받나요? (7) | ||
| 이전글 | css나 javascript들이 자꾸 body 태그 안... (8) | ||
| 
                                ci세상
                                /
                                2009/10/06 12:09:20 /
                                추천
                                0
                             | 
| 
                                루디아
                                /
                                2009/10/06 15:24:34 /
                                추천
                                0
                             네.. 해봤는데..  | 
| 
                                ci세상
                                /
                                2009/10/06 17:44:46 /
                                추천
                                0
                             
                                주신 코드 $id 값만 제대로 받는다면 정상적으로 작동되는것 확인하였습니다. 아마도 db 계정 user 권한이 제한된것 같습니다. 호스팅 계정이라면 권한을 한번 체크해 보시구요 위 부분은 로컬에서 apmsetup 같은것으로 설치하셔서 테스트 해보시면 정상작동되는 것을 확인 가능하실듯 보입니다. | 
| 
                                루디아
                                /
                                2009/10/06 21:03:43 /
                                추천
                                0
                             
                                감사합니다. 해보니 controllers에 넣어서 하니까 됩니다. 모델로 뺐더니 안되는건 왜그런지 모르겠습니다. | 
| 
                                ci세상
                                /
                                2009/10/06 22:23:11 /
                                추천
                                0
                             
                                모델도 잘되는데요 안되시는 소스 함 올려줘보세요..  전 다음처름 해보았습니다. ### 컨트롤러 ### 
<?php
class Welcome extends Controller {
	function Welcome()
	{
		parent::Controller();	
	}
	
	function index()
	{
		$this->load->view('welcome_message');
		$this->load->model('board_model');
		$this->board_model->table_make(); 
	}
}### 모델 #### 
<?
class Board_model extends Model {
    function Board_model()
    {
        parent::Model();
    
	}
    function table_make()
    {
		$this->load->dbforge();
		$this->dbforge->add_field('id INT(9) NOT NULL AUTO_INCREMENT');
		$this->dbforge->add_field('id_stem INT(10) NOT NULL');
		$this->dbforge->add_key('id',true);
		$this->dbforge->create_table('member',true); 
    }
}
?> | 
| 
                                루디아
                                /
                                2009/10/07 09:41:51 /
                                추천
                                0
                             function create()     redirect('board/bbs_group/lists/page/'.$page);    // 페이지로 돌아가기      | 
| 
                                변종원(웅파)
                                /
                                2009/10/07 10:19:52 /
                                추천
                                0
                             
                                _create_table 이 Private 함수라서 그럴지도 모르겠네요. 컨트롤러에서는 함수명앞에 _가 붙으면 Private 함수가 되는데 모델에서도 사용가능한지는 모르겠습니다. 함수명에서 _를 빼고 작업해보세요. ^^ | 
| 
                                루디아
                                /
                                2009/10/07 11:38:04 /
                                추천
                                0
                             
                                네.. 물론 모델에서는 _ 빼고 했습니다. 컨트롤러에 넣느라고 _를 집어 넣었습니다. 일단 Demo 시간을 맞추고 리펙토링을 해야 할듯 합니다. 친절한 답변에 감사합니다! 추가로 질문드리게 있다면, 여기서는 index.php를 Url에 넣지 않았는데, base_url에 넣은 것 인지요? 아닌 다른 방법이 있는지요? | 
| 
                                ci세상
                                /
                                2009/10/08 01:05:17 /
                                추천
                                0
                             
                                retrun -> return 오타가 있네요. 전 아래와 같이 테스트 해보니 잘 되었습니다.^^ 
<?php
class Welcome extends Controller {
	function Welcome()
	{
		parent::Controller();	
		$this->load->dbforge(); 
	}
	
	function index()
	{
		$id = "1";
		if ($this->_create_table($id))
		{  
			echo "실행"; 
		}
	}
	 function _create_table($id)
	 {         
		
		$table_name = 'board'.$id;      
		$this->dbforge->add_field('id INT(9) NOT NULL AUTO_INCREMENT');
		$this->dbforge->add_field('bbs_no int(9) NOT NULL');
		$this->dbforge->add_field('hits int(9) NOT NULL');   
		$this->dbforge->add_key('id',true);
		$this->dbforge->create_table($table_name, TRUE);
		return true;
	}
} | 
| 
                                ci세상
                                /
                                2009/10/08 09:16:49 /
                                추천
                                0
                             
                                index.php 주소 줄이기 부분은 서버명령어를 이용한 부분인데요 다음 주소를 참조해 주세요. http://codeigniter-kr.org/tip/view/8/page/4/ http://codeigniter-kr.org/tip/view/2/page/4/ | 
| 
                                루디아
                                /
                                2009/10/16 11:02:29 /
                                추천
                                0
                             
                                감사합니다.
                             | 
$this->dbforge->add_field('id INT(9) NOT NULL AUTO_INCREMENT'); $this->dbforge->add_field('id_stem INT(10) NOT NULL'); $this->dbforge->add_key('id',true); $this->dbforge->create_table('member',true);