묻고답하기

책 내 예제소스 :

function store_new_post($post)
{
  // 게시물을 검사하고 저장한다.

  $conn = db_connect();
  // 빈 필드가 없는지 확인한다.
  if(!filled_out($post))
  {
    return false;
  }
  $post = clean_all($post);

  // 부모가 있는 지 검사한다.
  if($post['parent'+ '+ ']!=0)
  {
    $query = "select postid from header where postid = '".$post['parent']."'";
    $result = mysql_query($query);
    if(mysql_numrows($result)!=1)
    {
      return false;
    }
  }

  // 겹치지 않는지 조사한다.
  $query = "select header.postid from header, body where
            header.postid = body.postid and
            header.parent = ".$post['parent']." and
            header.poster = '".$post['+ 'poster']."' and
            header.title = '".$post['title']."' and
            header.area = ".$post['area']." and
            body.message = '".$post['message']."'";
  $result = mysql_query($query);
  if (!$result)
  {
     return false;
  }
  if(mysql_numrows($result)>0)
     return mysql_result($result, 0, 0);

  $query = "insert into header values
            ('".$post['parent']."',
             '".$post['poster']."',
             '".$post['title']."',
             0,
             '".$post['area']."',
             now(),
             NULL
            )";
  $result = mysql_query($query);
  if (!$result)
  {
     return false;
  }

  // 이제 부모 글에 답글이 생겼다.
  $query = 'update header set children = 1 where postid = '.$post['parent'];
  $result = mysql_query($query);
  if (!$result)
  {
     return false;
  }

  // 게시물을 구별하는 아이디를 만든다. 어떤 게시물들은 아이디와 작성 시간을 제외한 헤더 정보가 같을 수 있다.
  $query = "
select header.postid from header left join body on header.postid = body.postid  
                   where parent = '".$post['parent']."'
                   and poster = '".$post['poster']."'
                   and title = '".$post['title']."'
                   and body.postid is NULL
";
  $result = mysql_query($query);
  if (!$result)
  {
     return false;
  }
  if(mysql_numrows($result)>0)
    $id = mysql_result($result, 0, 0);

  if($id)
  {
     $query = "insert into body values ($id, '".$post['message']."')";
     $result = mysql_query($query);
     if (!$result)
     {
       return false;
     }

    return $id;
  }
  
}

이건 웹 포럼 예제의 글 쓰기 부분에 관한 함수입니다. 글의 제목, 글쓴이, 쓴시간 등은 한쪽 테이블에, 글 본문은 또다른 테이블에 나누어서 저장합니다. 그런데 위쪽에 표시한 부분에서 본문을 저장하기 위한 id를 만들기 위해 실행하는 부분이 잘 이해가 되지 않는군요. 책에는 더이상의 설명이 없기에 질문해봅니다.
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
서니 포토샵 Liquify 질문  
권정민 스크롤때문에 그러는데요=ㅅ= [2] 2007.08.10
임채욱 2000에서 ftp설정 문의 [1] 2007.08.10
김보석 테이블안에 아이프레임 삽입시 테이블(세로)크기 자동 리사이징에 대해서 여쭙습니다. [3] 2007.08.10
타스케 프레임 밖의 레이어.. [2] 2007.08.10
샤위엔즈™ 라이코스중에서 ftp열린곳  
~ifusmile~ nkino에서 사용되는 영문폰트.. [2] file 2007.08.10
이경희 스크롤바 투명하게 하는 법 좀 .. [1] 2007.08.10
백동진 [질문]HTML 에서 경로에 관련하여 질문드립니다. [1] 2007.08.10
이만수 ㅡㅜ 으... 도와주세요...  
김순호 [웹디자인] 포토샵 지우개에 관한 질문입니다.... [2] 2007.08.10
한승진 PHP에서 파일 지우는 방법좀.. [3] 2007.08.10
쟈니K 이럴경우 어떻게 처리해야하나요? [1] 2007.08.10
김종관 폰트를 찾을 수 없다네요..  
고은혜 php설치후..  
권경화 윈도우즈 미디어 엔코더 안되네요.. 에러내용 좀 봐주세요.. [1] 2007.08.10
여정기 홈피에 로또 실시간 당첨금을 넣고 싶은데요.. [1] 2007.08.10
chryseis 체크박스 스타일 바꾸는 법 좀... [2] 2007.08.10
김현수 php로 어떻게 하죠? 이런걸 자동제어라고 해야하나..-_-a [1] 2007.08.10
Myzzix 킄 -> 킄 이렇게 글자가 깨지는 이유는?? [ 해결 ] [1] 2007.08.10