묻고답하기

책 내 예제소스 :

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 남기남
김수낙 주소 링크와 관련된 에러문제 (아래 글썼던 사람입니다.) [3] 2007.08.10
권용택 xml과 mysql에 대해서요 ..  
문창호 [플래시 액션] geturl 로 이동후 게시판 목록에 글이 없어요;;~ ㅠ geturl말구 다른거 없나요 ㅠ [3] 2007.08.10
wings 일러스트cs 질문입니다. [1] 2007.08.10
졸라맥 php질문; [1] 2007.08.10
카스테라 HP-UX나 리눅스 Test용으로 열어져있는 곳 없나요?  
졸라맥 php 질문;  
clrRk include 할때 여백이 생겨요!!  
이정수 플래시 질문ㅠ 고수님들 제발 답변좀; [2] 2007.08.10
서호건 나모 레이어 때문에 문의드립니다... ㅠㅠ  
오라클 이 폰트 이름 아시는 분 계신가요?  
로범 플래시 질문입니다^^*  
우신명 win2003 iis 6.0에서 mysql 사용시에...  
차동진 슬라이딩 에드콘이 됐다 안됐다 하면서 에러가 납니다.  
박지혁 저의 마지막 소원입니다 도와주세요.. [3] 2007.08.10
이정수 포토샵으로 슬라이스한후에-_- 나모에서; 링크를 걸었거든요? [1] 2007.08.10
김기창 PHP책 내 예제의 Mysql 쿼리가 잘 이해되지 않아 질문합니다. [2] 2007.08.10
링구 이런거 어떻게만들어요??플래시입니다  
이동욱 팝업창 6시간뒤에 뜨게할려면  
Homp IP 밴관련 질문요 [1] 2007.08.10
조민재 도와 주세요. 고수님들.. [1] 2007.08.10
허문구 최근게시물 올리는것 아랫소스있읍니다 안대는이유좀 알려주세여??  
sincere 외국 포럼 툴로 원프레임 홈페이지를 만들고 싶어요D:)  
임채현 글씨가 영어폰트는 괞찬은데 한글만 짤리네여.  
로맨스 홈페이지 만드는 중 이미지요..... [1] 2007.08.10
라이트트윈스ssssssss 표 뒤로 그림이나 배경그림 넣는 방법 모르겠습니다.  
최준영 홈페이지 프레임 관련질문입니다.  
김장희 쇼핑몰 결제 페이지 수정관련(결제 방법을 중복하여 선택 하게끔 수정하고 싶습니다.)  
청춘을 적신다~! 프로그래머분들께... [1] 2007.08.10
바람 [질문]제로보드의 사용되는 mysql의 테이블 2개를 하나로 합치려면