php 질문 드려요 채택완료
$sql2 = "select max(po_grant_give_point) as max from ".$g5['ph_point_table']." where it_id = ".$list_it_id."'"; if ($list_ph_type1 == "신규") { $sql2 .= " and po_grant_type = 'new'"; } else if ($list_ph_type1 == "수정") { $sql2 .= " and po_grant_type = 'move'"; } else if ($list_ph_type1 == "삭제") { $sql2 .= " and po_grant_type = 'change'"; }
위 소스 설명좀 부탁드려요.
첫줄은 DB 테이블 찾아서 불러오는건 알겠어요.
4,6,8줄은 컬럼에서 불러오는것 같고 컬럼명도 찾았어요.
이해가 안되는건 3,5,7 줄이 화면에 표시를 해주려고 하는 소스인건지 저 list_ph_type1 라는 컬럼에서 값을 가져오는 소스인건지를 몰르겠어요. SQL 들어가서 저 컬럼명을 찾아봤는데 안보여서 더 이해가 안되네요.
답변 2개
$g5['ph_point_table'] 테이블 컬럼에 po_grant_type 이 컬럼이 테이블에 없으면 에러 날텐데요?
쓰고 보니 님은 쿼리가 첫번째 줄에서 끝난다고 생각하신건가요?
$sql .= <== 이 코드는 $sql 에 해당 문구를 추가로 넣는거니 실제 쿼리는
</p>
<p>"select max(po_grant_give_point) as max from ".$g5['ph_point_table']." where it_id = ".$list_it_id."' and po_grant_type = 'new'"; // 혹은 "move", "change"</p>
<p>
처럼 되겠죠
답변에 대한 댓글 2개
아니라면 페이지 넘어올때 POST 로 넘어왔을텐데 넘기는 화면 form 태그를 확인해 보시고
$list_ph_type1 를 출력해보세요
댓글을 작성하려면 로그인이 필요합니다.
$sql2 .= " and po_grant_type = 'new'";
는 $sql2 = $sql2 . " and po_grant_type = 'new'"; 의 의미입니다.
$list_ph_type1 의 값이 '신규'라면 최종적으로 실행되는 쿼리는
select max(po_grant_give_point) as max
from ".$g5['ph_point_table']."
where it_id = ".$list_it_id."'
and po_grant_type = 'new'
가 됩니다.
$list_ph_type1 은 DB 에서 가져온 값이 아닌,
웹 페이지에서 사용자의 액션에 의해서
get 또는 post 방식으로 넘겨진 값으로 추측됩니다.
가령 A 페이지에서
신규
수정
삭제
의 폼 엘리먼트가 있고, 사용자가 '수정'에 체크한 상태로 B 페이지로 서브밋 하면..
B 페이지에서 $list_ph_type 는 '수정'값을 가지게 됩니다.
폼 데이터 전송에 의한 변수가 아닐 수도 있는데.. 그런 경우에는.. 최초에 $list_ph_type 변수에 값을 저장하는 구문을 찾아야 됩니다. (ex. $list_ph_type = "수정"; )
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
제가 줄을 설명을 잘못했네요. 신규,수정,삭제 들어가는 줄들을 모르겠어요