웹페이지 작성시 질문입니다. 질문만 해서 죄송합니다~ (html, CGI, mysql)
글쓴이: xoahrdl / 작성시간: 목, 2006/12/14 - 1:52오후
제가 지금 select 박스에서 선택되어진 값을 받아서 query 문으로 돌려서
웹페이지에 다시 출력하는.. 이른바 filtering(선택된 조건에 해당하는 것만 화면에 출력)을 하려고 하고 있습니다.
제가 코딩 일부분입니다. 이곳중에 문제가 있을거 같아 끊어 왔습니다.(너무 길어서 죄송합니다)
$table_head .= "<FORM action='MTGM_list' method='POST' name='filter'><td align=' center' rowspan=2 bgcolor='#DDDDDD'><input type='submit' name='submit' value='fi lter'></td></tr>"; $table_head .= "<tr><td align='center'><select name='year'>"; ##### 이것은 테이블에 연도가 따로 필드로 되어있지 않고 `date` 필드가 0000-00-00 형식으로 ##### 되어있어서 `date` 필드의 왼쪽 4개를 가져오는 내용입니다. $query= "SELECT DISTINCT Left(`date`,4) AS Year_Date FROM `WAH_meeting`"; $result=$dbh->prepare($query); $result->execute; while (my $row=$result->fetchrow_hashref()) { $table_head .= "<option value= '$row->{'Year_Date'}'selected >$row->{'Ye ar_Date'}</option>"; } $table_head .= "</select></td></tr>"; $table_body = " "; $i=0; #####여기가 제가 생각하는 문제 될것 같은 유력한 부분##### $query="SELECT * FROM `WAH_meeting` where LEFT (`date`,4) = 'year' order by `date` DESC"; $result=$dbh->prepare($query); $result->execute; while (my $row=$result->fetchrow_hashref()) { .
이부분의 코딩 의도는 select 를 통해서 선택된 값(select name='year')에 해당하는 데이터를 테이블에서 가져오는 것입니다. 요 위의 쿼리문이 조건을 준것인데요. 'year'가 아닌 2006같은 정수를 대신 넣으면 잘 출력이 되는 걸로 봐서 저 쿼리문만 잘 작성하면 될것 같은 생각이 듭니다.
제가 생각한 문제는 select name = 'year' 란 놈을 변수로 바꿔서 $year 이런식으로 쿼리문의 where 에 넣어주면 될것같은데 어떻게 해야하는지 잘 모른다는 것입니다.
솔직히 지금 제가 생각한 것이 아닌 다른 곳에서 문제가 될 수도 있다고 생각하고 있습니다.
끝까지 읽어주셔서 감사합니다. 조언부탁드립니다.
ps : 에구 이거 해결하고 나믄 select하고 checkbox에서 선택된 것을 중복 조건으로 filtering 해야 하는데 이것두 하려면 큰일 났네요.. ㅠㅠ
Forums:
POST Request/PHP 에서
POST Request/PHP 에서 라면
정도면 될것 같네요..
구조를 질문에 제시하지 않고 단순히 몇개의 잘라붙인 코드만 주시면 올바른 답변을 해드리기엔 너무 제한적입니다.
--
Captue the one shot in your life!
죄송합니다
perl CGI로 짰다고 해야되나 봅니다.
serialx님이 해주신대로 했는데 에러가 뜨진 않는데 화면이 백지네요..ㅠㅠ
아무튼 답변 너무 감사드립니다 (_ _ );
대강 보니깐요
Perl CGI로 HTML을 동적으로 생성하시는것 같은데 논리적으로 생각해보면 year를 선택하는 select box를 만들어주는 tag랑 그 select box에서 선택된 year값을 이용해서 쿼리를 날리는 구문이랑 같은 소스안에 들어있다면 html 페이지가 보여주는 시점에 이미 밑에 year를 이용해서 select하는 구문도 끝나버린 시점인데 어떻게 사용자가 선택한 year값을 가져가서 select를 날릴 수 있나요? 아래 select문을 실행하는 부분은 별도 CGI로 만들어서 year값을 선택한 페이지에서 그쪽으로 year값을 넘겨주는 식으로 만들어야 되지 않나요?
댓글 달기