개발 Q&A

제목 게시판 글수정 오류 메세지 봐주세요~~ 꾸벅!
글쓴이 꾸숑 작성시각 2013/01/28 22:36:06
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 16982   RSS

졸리고 배고프고 해서 염치 불구하고 질문 드립니다.
 입력, 출력, 삭제 까지 작업했으나  마지막 수정에서 발목을 잡혔습니다.
아래는 글수정 폼에서 수정후 전송할때 오류 메세지 입니다.
num값을 못가져 오는것 같습니다.

Error Number: 1054
Unknown column 'cintent' in 'field list'
UPDATE `board` SET `num` = 0, `name` = '이름', `email` = '이메일', `subject` = '제목', `cintent` = '내용', `wdate` = 0 WHERE `num` IS NULL
Filename: C:\APM_Setup\htdocs\ci\system\database\DB_driver.php
Line Number: 330

controllers/board.php
 //edit_form->글수정 폼
 function edit_form(){
   $num = $this->seg_value('num');
   $this->db->select("*");
   $this->db->where('num', $num);
   $query = $this->db->get('board');
   $row = $query->row_array();
    
   $data['title']='글읽기';
   $data['num'] = $num;
   $data['name'] = $row['name'];
   $data['email'] = $row['email'];
   $data['subject'] = $row['subject'];
   $data['content'] = $row['content'];
   $data['view'] = $row['view'];
   $data['wdate'] = $row['wdate'];
   $data['title']='글수정';
   $this->load->view('edit_form_view',$data);
 } 

 //edit->글수정
    function edit(){
      $data3 = array(
      'num' => $this->input->post('num') ,
    'name' => $this->input->post('name') ,
    'email' => $this->input->post('email') ,
    'subject' => $this->input->post('subject') ,
    'cintent' => $this->input->post('content') ,
    'wdate' => $this->input->post('wdate')
    );
      $this->db->where('num', $this->seg_value('num'));
      $this->db->update('board', $data3);
      redirect(base_url("board"));
 }

 function seg_value($key,$segment=NULL)
   {
   if($segment == NULL) {
   $segment = $this->uri->segment_array();
   }

   $this->seg_exp = array_values($segment);
   $arr_key = array_keys($this->seg_exp, $key);

  
   if($arr_key){
   $arr_val = $arr_key[0] + 1;
   } else {
   $arr_val = 200;
   }

   if(count($this->seg_exp) > $arr_val){
   return $this->seg_exp[$arr_val];
   }

   }


views/edit_form_view.php
<html>
 <head>
  <title> <?=$title?> </title>
 </head>
 <body>
  <table border=1 width=100%>
  <?=form_open('/board/edit');?>
    <tr>
      <td>제목
      <td><input type=text name='subject' size=50 maxlength=40 value="<?=$subject?>">
    <tr>
      <td>이름
      <td><input type=text name='name' size=20 maxlength=10 value="<?=$name?>">
    <tr>
      <td>E-mail
      <td>
      <input type=text name='email' size=38 maxlength=100 value="<?=$email?>"></span>
    <tr>
      <td>비밀번호
      <td><input type=password name='pass' size=20 maxlength=10> (수정 또는 삭제시 반드시 필요함)
 <tr>
      <td>내용
      <td><textarea name="content" rows="10" cols="100"><?=$centent?></textarea>
    <tr>
      <td colspan=2>
        <input type="submit" value=<?=$title?>>
 
  </table>
  </center>
 </body>
</html>
 

 다음글 메일 발송 후 반송되는부분 문의드립니다. (1)
 이전글 .js 파일에서 php 실행? (5)

댓글

변종원(웅파) / 2013/01/28 23:16:40 / 추천 0
 에러 메세지에 답이 있는데요?

cintent 라는 필드가 없다는데요? content 아닌가요?

게시글 이동합니다.

Unknown column 'cintent' in 'field list'
꾸숑 / 2013/01/28 23:30:28 / 추천 0
웅파

감사합니다.  졸려서 잘 안보였네요..
일단 오류 메세지는 없어졌는데....
수정은 되지 않네요.... 좀 더 살펴 봐야 할것 같네요....

다시한번 감사 드립니다.

꾸숑 / 2013/01/28 23:41:34 / 추천 0
오류 메세지는 없어졌으나 여전히 num값을 가져 오지 못하고 있습니다.
 echo $str = $this->db->last_query();

UPDATE `board` SET `num` = 0, `name` = '7777777777', `email` = '77777777777777', `subject` = '7777777777', `content` = '444', `wdate` = 0 WHERE `num` IS NULL
한대승(불의회상) / 2013/01/29 06:21:43 / 추천 0
view에서 눈씻고 찾아봐도 num 값을 컨트롤로에 넘겨주는 부분이 없군요.

일단 소스상으론
<?=form_open('/board/edit');?>
이부분에 num 값을 넣어줘야 수정이 되겠군요.
꾸숑 / 2013/01/29 13:23:05 / 추천 0
불의화상//
답변 감사합니다.
나름대로 이렇게 저렇게 해보았으나 안되더군요

<?=$num?> 이렇게 했을때 정확하게 값이 출력되는데 아래처럼 하니 안되는군요
  <?=form_open('/board/edit/num/$num');?>     => http://localhost/ci/board/edit/num/$num  이렇게 url 출력됩니다.

그래서 아래 처럼 해봐도 안되고요..
  <input type="hidden" name="num" value="<?=$num?>">

그래서 최후의 수단으로 기존 방식으로 해보았습니다.

  <form action="<?=base_url()?>/board/edit/num/<?=$num?>" method="post" accept-charset="utf-8" enctype = multipart/form-data>

원하는데로 되긴 되었습니다. 글 수정 성공했습니다.
잘한건가요???
한대승(불의회상) / 2013/01/29 17:13:21 / 추천 0
 이부분은...
<?=form_open('/board/edit/num/$num');?>
요렇게 하셨으면 한 방에 성공 하셨을 텐데...
<?=form_open("/board/edit/num/$num");?>
그리고 제가 추천하는 방식은
<?=form_open("/board/edit/num/{$num}");?>

/* 또는 */

<?=form_open('/board/edit/num/' . $num);?>


꾸숑 / 2013/01/29 18:21:42 / 추천 0
불의화상/

알려주신 3가지 방법 모두 이상없이 작동 되네요...

감사합니다.

열공!!!