기간 검색관련 배열 질문드립니다.
본문
안녕하세요..
여분필드 wr_a1을 만들고 wr_a1을 기준으로 기간을 검색하여 각각의 wr_a1날짜에 wr_1, wr_2, wr_3을 출력하려합니다.
관리자 부분을 참고해서 만드는데 쉽게 해결이 되지 않습니다.
wr_a1의 기간에 검색되는 항목을 아래와 같이 나타내려하는데 날짜와 wr_1, wr_2, wr_3 각각 하나씩은 잘나오는데 아래와 같이 해당일에 1~3의 값을 모두 나오게 하려 하는데 이것저것 해봤는데 제실력으론 역부족이라 질문을 드려 답을 얻고자합니다.
------------------------------------------------------------------------------
10월1일 | 10월2일 | 10월3일 | 10월4일 | 10월5일
------------------------------------------------------------------------------
wr_1/wr_2/wr_3 | wr_1/wr_2/wr_3 | wr_1/wr_2/wr_3 | wr_1/wr_2/wr_3 |wr_1/wr_2/wr_3
------------------------------------------------------------------------------
아래 소스로 해당일에 wr_1은 잘 나옵니다.
그런데 wr_2와 wr_3도 같이 나오게 하려하는데 어떻게 처리를 해야할지 답이 나오질 않습니다.
<?
$sql = " select wr_a1, wr_1 as cnt ";
$sql .= " from g5_write_test where wr_a1 between '{$fr_date}' and '{$to_date}' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$arr[$row['wr_a1']] = $row['cnt'];
}
?>
<?php
if (count($arr)) {
foreach ($arr as $wr_a1=>$value) {
?>
<th><?php echo date("m/d", strtotime($wr_a1)) ?></th>
<? }
} ?>
<?php
if (count($arr)) {
foreach ($arr as $key=>$value) {
$key = $value
?>
<td><?php echo $key ?></td>
<? }
} ?>
답변 1
중복날짜가 있는지 없는지 wr_1, Wr_2 등에는 어떤 값이 들어가는지 실제 예로 설명해야 명확하게 알 수 있는 것이지만....
하여튼 아래처럼 배열을 만들면 됩니다
1. $sql = " select wr_a1, wr_1 ,wr_2, wr_3 from g5_write_test where wr_a1 between '{$fr_date}' and '{$to_date}' ";
2. for ($i=0; $row=sql_fetch_array($result); $i++) {
$arr[$row['wr_a1']][0] = $row['wr_1'];
$arr[$row['wr_a1']][1] = $row['wr_2'];
$arr[$row['wr_a1']][2] = $row['wr_3'];
3. print_r($arr);