ITmembers.net 아카이브 · 2002–2009

질문과 답변

부탁해용~~~~~

질문했던 내용인데 조금 더 자세히 알고 싶어서 다시 한번 질문 드립니다.

날짜를 검색해서 그 기간동안의 데이터통계를 내려고 하는데요.
어떤 함수가 들어가야지 통계가 나올까요
예) [2003/11/01] ~ [2003/11/07] 까지의 숫자로 저장된 데이터의 합을 구해서 한페이지에 출력되게 하려고 하거든요. 이 파일에서 어떻게 추가시켜줘야 할까요. 아랫부분에 기간별 검색 부분이 있습니다.
이건 게시판프로젝트의 파일을 예제로 하기위해 소스를 수정한겁니다.

write.php
<?
setlocale("LC_TIME","korea");
$DATE = date("Y-m-d");
$DATE1 = date("Y");
$DATE2 = date("m");
$DATE3 = date("d");
$DATE4 = strftime("%A");

?>


<html>
<head>
<title>쓰기</title>

<STYLE TYPE="text/css">
BODY,TD,SELECT,input,DIV,form,TEXTAREA,center,option,pre,blockquote {font-family:굴림;font-size:9pt;color:#555555;}
A:link    {color:black;text-decoration:none;}
A:visited {color:black;text-decoration:none;}
A:active  {color:black;text-decoration:none;}
A:hover  {color:gray;text-decoration:none;}
</STYLE>


<script language="javascript">

function check_submit() {
        
        if (document.myForm.password.value == "") {
                alert('비밀번호를 입력해야 글을 수정하거나 삭제할 수 있습니다.');
                document.myForm.password.focus();
                return;
                
                
        } else {
                document.myForm.action = "insert.php";
                document.myForm.submit();
        }
        
}

</script>

</head>

<body bgcolor=white>

<form name='myForm' method='post' >

<table border=0 bgcolor=#999999><tr><td>





        <tr>
          <td colspan=2>
             <table border=0 cellspacing=0 cellpadding=0 width=100%>
                     <tr>

<td width=10></td>
                        <td>
                        <select name="name">
<?
if ($name){
                echo "<option selected value=<?=$name?> class=input>$name</option>";
        } else {
                echo "<option selected value='이름' class=input_search>이름</option>";
        }
?>
<option value=건국대>갑이</option>
<option value=고려(중도관)>을이</option>
<option value=고려(과도관)>병이</option>
<option value=국민>정이</option>
</select>
</td>
                        <td>
<select name="subject1">
<?
if ($subject1){
                echo "<option selected value=<?=$subject1?> class=input>$subject1</option>";
        } else {
                echo "<option selected value='$DATE1' class=input_search>$DATE1</option>";
        }
?>
<option value=2003>2003</option>
<option value=2004>2004</option>
<option value=2005>2005</option>
<option value=2006>2006</option>
<option value=2007>2007</option>
<option value=2008>2008</option>
<option value=2009>2009</option>
<option value=2010>2010</option>
</select>  

<select name="subject2">
<?
if ($subject2){
                echo "<option selected value=<?=$subject2?> class=input>$subject2</option>";
        } else {
                echo "<option selected value='$DATE2' class=input_search>$DATE2</option>";
        }
?>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
</select>  

<select name="subject3">
<?
if ($subject3){
                echo "<option selected value=<?=$subject3?> class=input>$subject3</option>";
        } else {
                echo "<option selected value='$DATE3' class=input_search>$DATE3</option>";
        }
?>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<option value=21>21</option>
<option value=22>22</option>
<option value=23>23</option>
<option value=24>24</option>
<option value=25>25</option>
<option value=26>26</option>
<option value=27>27</option>
<option value=28>28</option>
<option value=29>29</option>
<option value=30>30</option>
<option value=31>31</option>
</select>  

</td>

                        </td>

                        <td width=100 align=right><b>비밀번호 </b></td>
                        <td><input type=password name=password  size=20  maxlength=20>
                        </td>
                     </tr>
                        </table>
          </td>
        </tr>

        <tr><td bgcolor=white height=1 colspan=2></td></tr>
        
        <tr>
          <td align=right><b>테스트1 </b></td>
          <td> <input type=text name=test1 size=5  maxlength=5> </td>
        </tr>
        
        <tr><td bgcolor=white height=1 colspan=2></td></tr>

        <tr>
          <td align=right><b>테스트2 </b></td>
          <td> <input type=text name=test2 size=5  maxlength=5> </td>
        </tr>

        <tr><td bgcolor=white height=1 colspan=2></td></tr>

        <tr>
          <td align=right><b>테스트3 </b></td>
          <td> <input type=text name=test3 size=5  maxlength=5> </td>
        </tr>

        <tr><td bgcolor=white height=1 colspan=2></td></tr>

        <tr>
          <td align=right><b>테스트4 </b></td>
          <td valign=top>
          <input type=text name=test4 size=5  maxlength=5>
          </td>
        </tr>



<br>

<table border=0 width=670>
<tr><td>
<center>
<a href="javascript:check_submit();">전송</a>   
<a href=# onclick=history.back()>취소</a>
</center>
</td></tr>
</table>
</td></tr></table>


</form>

</body>
</html>

list.php 여기서 검색폼을 더 집어넣을껍니다.
<?
mysql_connect("localhost", "testbbs", "testbbs") or die (mysql_error());
mysql_select_db("testbbs");

$tablename="bbs"; //테이블 이름
if($page == '') $page = 1; //페이지 번호가 없으면 1
$list_num = 20; //한 페이지에 보여줄 목록 갯수
$page_num = 10; //한 화면에 보여줄 페이지 링크(묶음) 갯수
$offset = $list_num*($page-1); //한 페이지의 시작 글 번호(listnum 수만큼 나누었을 때 시작하는 글의 번호)

//검색을 위한 SQL where 문 만들기
if ($src_value != '') {
        $where = "where $src_name like '%$src_value%'";
}

//전체 글 수를 구합니다. (쿼리문을 사용하여 결과를 배열로 저장하는 일반적인 방법)
$query="select count(*) from $tablename $where"; // SQL 쿼리문을 문자열 변수에 일단 저장하고
$result=mysql_query($query) or die (mysql_error()); // 위의 쿼리문을 실제로 실행하여 결과를 result에 저장한 다음
$row=mysql_fetch_row($result); //위 결과 값을 하나하나 배열로 저장합니다.
$total_no=$row[0]; //배열의 첫번째 요소의 값, 즉 테이블의 전체 글 수를 저장합니다.

//전체 페이지 수와 현재 글 번호를 구합니다.
$total_page=ceil($total_no/$list_num); // 전체글수를 페이지당글수로 나눈 값의 올림 값을 구합니다.
$cur_num=$total_no - $list_num*($page-1); //현재 글번호

//bbs테이블에서 목록을 가져옵니다. (위의 쿼리문 사용예와 비슷합니다.)
$query="select * from $tablename $where order by number desc limit $offset, $list_num"; // SQL 쿼리문. where 문은 order by 문 앞에
$result=mysql_query($query) or die (mysql_error()); // 쿼리문을 실행 결과
//쿼리 결과를 하나씩 불러와 실제 HTML에 나타내는 것은 HTML 문 중간에 삽입합니다.

?>
<?
setlocale("LC_TIME","korea");
$DATE = date("Y-m-d");
$DATE1 = date("Y");
$DATE2 = date("m");
$DATE3 = date("d");
$DATE4 = strftime("%A");

?>
<html>
<head>
<meta http-equiv=content-type content=text/html; charset=euc-kr>
<title>글목록보기</title>
<STYLE TYPE=text/css>
BODY,TD,SELECT,input,DIV,form,TEXTAREA,center,option,pre,blockquote {font-family:굴림;font-size:9pt;color:#555555;}
A:link    {color:black;text-decoration:none;}
A:visited {color:black;text-decoration:none;}
A:active  {color:black;text-decoration:none;}
A:hover  {color:gray;text-decoration:none;}
</STYLE>
</head>
<body background=./images/body_bg.gif>
<img src=./images/maintitle.gif>
<table border=1 cellspacing=0 width=680 bordercolordark=white bordercolorlight=#999999>
    <tr>
        <td width=30 bgcolor=#CCCCCC>
            <p align=center>no</p>
        </td>
        <td bgcolor=#CCCCCC width=490>
            <p align=center>subject</p>
        </td>
        <td width=80 bgcolor=#CCCCCC>
            <p align=center>name</p>
        </td>
        <td width=30 bgcolor=#CCCCCC>
            <p align=center>hit</p>
        </td>
    </tr>

<?
while ($array=mysql_fetch_array($result)) {

        $date=date("Y/m/d", $array[writetime]); //글쓴시각을 Y/m/d 형식에 맞게 문자열로 바꿉니다.

        echo "
    <tr>
        <td width=30>
            <p align=center>$cur_num</p>
        </td>
        <td width=490>
            <a href='view.php?page=$page&number=$array[number]&src_name=$src_name&src_value=$src_value'>$array[subject]</a>
        </td>
        <td width=80 align=center>
             <a href='view.php?page=$page&number=$array[number]&src_name=$src_name&src_value=$src_value'>$array[name]</a>
        </td>
        <td width=30>
            <p align=center>$array[count]</p>
        </td>
    </tr> ";

        $cur_num --;

}
?>
    <tr>
        <td width=100% colspan=5>

<?
//여기서부터 각종 페이지 링크
//먼저, 한 화면에 보이는 블록($page_num 기본값 이상일 때 블록으로 나뉘어짐)
$total_block=ceil($total_page/$page_num);
$block=ceil($page/$page_num); //현재 블록

$first=($block-1)*$page_num; // 페이지 블록이 시작하는 첫 페이지
$last=$block*$page_num; //페이지 블록의 끝 페이지

if($block >= $total_block) {
        $last=$total_page;
}

echo "
                        <p align=center>";
//[처음][*개앞]
if($block > 1) {
        $prev=$first-1;
        echo "<a href='list.php?page=1&src_name=$src_name&src_value=$src_value'>[처음]</a>  ";
        echo "<a href='list.php?page=$prev&src_name=$src_name&src_value=$src_value'>[$page_num 개 앞]</a>";
}

//[이전]
if($page > 1) {
        $go_page=$page-1;
        echo "        <a href='list.php?page=$go_page&src_name=$src_name&src_value=$src_value'>[이전]</a>         ";
}

//페이지 링크
for ($page_link=$first+1;$page_link<=$last;$page_link++) {
        if($page_link==$page) {
                echo "<font color=green><b>$page_link</b></font>";
        }
        else {
                echo "<a href='list.php?page=$page_link&src_name=$src_name&src_value=$src_value'>[$page_link]</a>";
        }
}

//[다음]
if($total_page > $page) {
        $go_page=$page+1;
        echo " <a href='list.php?page=$go_page&src_name=$src_name&src_value=$src_value'>[다음]</a>";
}

//[*개뒤][마지막]
if($block < $total_block) {
        $next=$last+1;
        echo "<a href='list.php?page=$netxt&src_name=$src_name&src_value=$src_value'>[$page_num 개 뒤]</a> ";
        echo "<a href='list.php?page=$total_page&src_name=$src_name&src_value=$src_value'>[마지막]</a></p>";
}

?>
        </td>
    </tr>
    <tr>
        <td width=100% colspan=5>
            <p align=center><? echo "<a href='write.php?page=$page&src_name=$src_name&src_value=$src_value'>"; ?>[글쓰기]</a></p>
        </td>
    </tr>

<!-- 검색 입력 폼 -->

        <form method=post action='list.php'>
        <tr>
        <td width=100% colspan=5 align=center>
                        <input type=hidden name=page value=<? echo "$page" ; ?>>


                        <select name=src_name>
                        <option value=name>이름</option>
                        <option value=subject selected>제목</option>
                        <option value=memo>내용</option>
                        </select>

                        <input type=text name=src_value size=30>
                        <input type=submit value=검색>

                </td>
        </tr>
        </form>
<!-- 검색 입력 폼 끝 -->
<!-- 기간별 검색 --> ★기간별 검색 넣을부분★

<select name="subject1">
<?
if ($subject1){
                echo "<option selected value=<?=$subject1?> class=input>$subject1</option>";
        } else {
                echo "<option selected value='$DATE1' class=input_search>$DATE1</option>";
        }
?>
<option value=2003>2003</option>
<option value=2004>2004</option>
<option value=2005>2005</option>
<option value=2006>2006</option>
<option value=2007>2007</option>
<option value=2008>2008</option>
<option value=2009>2009</option>
<option value=2010>2010</option>
</select>  

<select name="subject2">
<?
if ($subject2){
                echo "<option selected value=<?=$subject2?> class=input>$subject2</option>";
        } else {
                echo "<option selected value='$DATE2' class=input_search>$DATE2</option>";
        }
?>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
</select>  

<select name="subject3">
<?
if ($subject3){
                echo "<option selected value=<?=$subject3?> class=input>$subject3</option>";
        } else {
                echo "<option selected value='$DATE3' class=input_search>$DATE3</option>";
        }
?>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<option value=21>21</option>
<option value=22>22</option>
<option value=23>23</option>
<option value=24>24</option>
<option value=25>25</option>
<option value=26>26</option>
<option value=27>27</option>
<option value=28>28</option>
<option value=29>29</option>
<option value=30>30</option>
<option value=31>31</option>
</select>  
일~
<select name="subject1">
<?
if ($subject1){
                echo "<option selected value=<?=$subject1?> class=input>$subject1</option>";
        } else {
                echo "<option selected value='$DATE1' class=input_search>$DATE1</option>";
        }
?>
<option value=2003>2003</option>
<option value=2004>2004</option>
<option value=2005>2005</option>
<option value=2006>2006</option>
<option value=2007>2007</option>
<option value=2008>2008</option>
<option value=2009>2009</option>
<option value=2010>2010</option>
</select>  

<select name="subject2">
<?
if ($subject2){
                echo "<option selected value=<?=$subject2?> class=input>$subject2</option>";
        } else {
                echo "<option selected value='$DATE2' class=input_search>$DATE2</option>";
        }
?>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
</select>  

<select name="subject3">
<?
if ($subject3){
                echo "<option selected value=<?=$subject3?> class=input>$subject3</option>";
        } else {
                echo "<option selected value='$DATE3' class=input_search>$DATE3</option>";
        }
?>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
<option value=6>6</option>
<option value=7>7</option>
<option value=8>8</option>
<option value=9>9</option>
<option value=10>10</option>
<option value=11>11</option>
<option value=12>12</option>
<option value=13>13</option>
<option value=14>14</option>
<option value=15>15</option>
<option value=16>16</option>
<option value=17>17</option>
<option value=18>18</option>
<option value=19>19</option>
<option value=20>20</option>
<option value=21>21</option>
<option value=22>22</option>
<option value=23>23</option>
<option value=24>24</option>
<option value=25>25</option>
<option value=26>26</option>
<option value=27>27</option>
<option value=28>28</option>
<option value=29>29</option>
<option value=30>30</option>
<option value=31>31</option>
</select>  

<input type=submit value=기간별 검색> ★기간별 검색 넣을부분★
<!-- 기간별 검색 끝 -->

</table>
</body>
</html>

댓글 1