if 질문입니다..

if 질문입니다..

QA

if 질문입니다..

본문

    안녕하세요. 개발하다가 5일째 풀리지 않는 문제때문에 질문드립니다.

 

현재 아래와 같이 foreach 로 게시글 리스트에 반복문을 넣어줬습니다.

 

<?php if($info_list[$Ymd]) { foreach ($info_list[$Ymd] as $v){

 

그리고 아래와 같이 현재 날짜가 wr_10에 담겨져있는 날짜보다 작거나 같을 때, 해당 조건에 맞는 ul만 출력을 하고 싶습니다.

 

<? if(g5['time_ymd'] <= $v['wr_10']) ?>

 

이렇게 위와 같이 했더니 $i == 0 부분에 1이 15개가 잘 나오긴 합니다.

 

그런데 이걸 조건에 맞는 ul로 변환해야하는데, 이걸 어떻게 해야 할지 감이 오질 않습니다.

 

도움 부탁드립니다.

 

아래는 list 소스코드 전문입니다.


<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_PLUGIN_PATH.'/modal/modal.php');
include_once(G5_PATH.'/common.php');
$is_boardSort = true; 
if($is_boardSort && $is_admin) $colspan++; 
//자폭 시작
for ($i=0; $i<count($list); $i++) {
 
 $count_write = 0;
 $count_comment = 0;
 
 if($list[$i]['wr_10']) { 
  $g5['time_ymd'] = date("Y-m-d", G5_SERVER_TIME); 
  $stoday = $g5['time_ymd'];
 
  $bombdate = $list[$i]['wr_10'];
 
  $bombc = $list[$i]['wr_id'];
 
  if ($stoday > $bombdate) {
  $sql = " select wr_id, mb_id, wr_is_comment from $write_table where wr_parent = '$bombc' order by wr_id ";
  $result = sql_query($sql);
  while ($row = sql_fetch_array($result)) 
  {
   // 원글이라면
   if (!$row[wr_is_comment]) 
   {
    // 원글 포인트 삭제
    if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '쓰기'))
     insert_point($row[mb_id], $board[bo_write_point] * (-1), "$board[bo_subject] $row[wr_id] 글삭제");
    // 업로드된 파일이 있다면 파일삭제
    $sql2 = " select * from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$row[wr_id]' ";
    $result2 = sql_query($sql2);
    while ($row2 = sql_fetch_array($result2)){
     @unlink("$g5[path]/data/file/$bo_table/$row2[bf_file]");
     @unlink("$g5[path]/data/file/$bo_table/thumb/$write[wr_id]"); //썸네일 삭제 
     @unlink("$g5[path]/data/file/$bo_table/latest_thumb/$write[wr_id]"); //최근게시물 썸네일 삭제
    }
 
    //추천기록 삭제
    sql_query(" delete from g5_board_good where wr_id = '$row[wr_id]' AND bo_table = '$bo_table' "); //수정
     
    // 파일테이블 행 삭제
    sql_query(" delete from $g5[board_file_table] where bo_table = '$bo_table' and wr_id = '$row[wr_id]' ");
    $count_write++;
   } 
   else 
   {
    // 코멘트 포인트 삭제
    if (!delete_point($row[mb_id], $bo_table, $row[wr_id], '코멘트'))
     insert_point($row[mb_id], $board[bo_comment_point] * (-1), "$board[bo_subject] {$view[wr_id]}-{$row[wr_id]} 코멘트삭제");
    $count_comment++;
   }
  }
  // 게시글 삭제
  sql_query(" delete from $write_table where wr_parent = '$bombc' ");
  // 최근게시물 삭제
  sql_query(" delete from $g5[board_new_table] where bo_table = '$bo_table' and wr_parent = '$bombc' ");
  // 스크랩 삭제
  sql_query(" delete from $g5[scrap_table] where bo_table = '$bo_table' and wr_id = '$bombc' ");
 
  // 공지사항 삭제
  $notice_array = explode("\n", trim($board[bo_notice]));
  $bo_notice = "";
  for ($k=0; $k<count($notice_array); $k++)
   if ((int)$bombc != (int)$notice_array[$k])
    $bo_notice .= $notice_array[$k] . "\n";
  $bo_notice = trim($bo_notice);
  sql_query(" update $g5[board_table] set bo_notice = '$bo_notice' where bo_table = '$bo_table' ");
 
  // 글숫자 감소
  if ($count_write > 0 || $count_comment > 0)
   sql_query(" update $g5[board_table] set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' ");
  $bend = 1;
  }
  $BombDay = "<a href=\"javascript:alert('자폭 설정이 되어 있습니다.\\n자폭일 : ".$list[$i]['wr_10']."')\"><font color=red class=small>(자폭 설정이 작동 중입니다. 지정일: $bombdate)</font></a><br>";
 }
 if(count($list) == $i+1 && $bend == 1){
  goto_url("./board.php?bo_table=$bo_table&page=$page");}
}
//자폭 끝
 
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
 
if (!$_GET['Ymd']) {
$Ymd = DATE("Ymd");
}
 
 
if($Ymd) {
$mode = 3;
$Ymd = $Ymd + 0;
}
$add_class = $yoil = array();
$yoil[1] = '월요일';
$yoil[2] = '화요일';
$yoil[3] = '수요일';
$yoil[4] = '목요일';
$yoil[5] = '금요일';
$yoil[6] = '토요일';
$yoil[7] = '일요일';
if(!$mode) $mode = 2;
$this_year = date("Y", G5_SERVER_TIME);
$this_month = date("m", G5_SERVER_TIME);
$this_day = date("d", G5_SERVER_TIME);
$this_yoilnum = date("N", G5_SERVER_TIME);
$this_weeknum = date("W", G5_SERVER_TIME);
$today = date('Ymd', G5_SERVER_TIME);
$end_i = 14;
if($mode == 1) { // 월요일부터 시작
$k = 1; // 시작요일
$tmp_day = $this_yoilnum - 1;
$start_time = G5_SERVER_TIME-($tmp_day*60*60*24);
} else if($mode == 2) { // 어제 부터 시작
$k = $this_yoilnum - 1;
if(!$k) $k = 14;
$tmp_day = 1;
$start_time = G5_SERVER_TIME-($tmp_day*60*60*24);
$end_i = 15;
} else if($mode == 3) { // 특정일/주 선택
$k = 1;
$select_time = strtotime($Ymd);
$yoilnum = date("N", $select_time);
$tmp_day = $yoilnum - 1;
$start_time = $select_time-($tmp_day*60*60*24);
$weeknum = date("W", $start_time);
}
 
$s_year = date("Y", $start_time);
$s_month = date("m", $start_time);
$s_day = date("d", $start_time);
$start_Ymd = date("Ymd", $start_time);
$end_Ymd = date("Ymd", $start_time + (14*60*60*24));
if($sql_search) $sql_search = ' and '.$sql_search;
$sql = "select wr_id, ca_name, wr_subject, wr_content, wr_1, wr_3, wr_4, wr_5, wr_6, wr_10, wr_option from $write_table where wr_is_comment = 0 and wr_1 between '$start_Ymd' and '$end_Ymd' {$sql_search} order by wr_5";
$result = sql_query($sql);
while($row = sql_fetch_array($result)) {
unset($tmp_list);
$html = 0;
if (strstr($row['wr_option'], 'html1'))
$html = 1;
else if (strstr($row['wr_option'], 'html2'))
$html = 2;
$tmp_list['wr_id'] = $row['wr_id'];
 
// 이거 추가해 주고...
$tmp_list['wr_content'] = nl2br($row['wr_content']);
$tmp_list['wr_3'] = nl2br($row['wr_3']);
$tmp_list['wr_4'] = nl2br($row['wr_4']);
$tmp_list['wr_5'] = nl2br($row['wr_5']);
$tmp_list['wr_6'] = nl2br($row['wr_6']);
$tmp_list['wr_10'] = nl2br($row['wr_10']);
//
if($row['ca_name']) $tmp_list['ca_name'] = '['.$row['ca_name'].'] ';
$tmp_list['subject'] = conv_subject($row['wr_subject'], $board['bo_subject_len'], '…');
if($board['bo_use_list_content']) $tmp_list['content'] = cut_str(conv_content($row['wr_content'], $html),50);
$tmp_list['href'] = './board.php?bo_table='.$bo_table.'&wr_id='.$row['wr_id'];
$info_list["{$row['wr_1']}"][] = $tmp_list;
}
$add_class[$today] .= ' today';
?>
 
<!--<h2 id="container_title"><?php echo $board['bo_subject'] ?><span class="sound_only"> 목록</span></h2>-->
 
<!-- 게시판 목록 시작 { -->
<div id="bo_list" style="width:<?php echo $width; ?>">
 
    <!-- 게시판 카테고리 시작 { -->
    <?php if ($is_category) { ?>
    <nav id="bo_cate">
        <h2><?php echo $board['bo_subject'] ?> 카테고리</h2>
        <ul id="bo_cate_ul">
            <?php echo $category_option ?>
        </ul>
    </nav>
    <?php } ?>
    <!-- } 게시판 카테고리 끝 -->
<div class="text_right">
<?php if ($is_checkbox) { ?>
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
<label for="chkall">전체선택</label>
<?php } ?>
<input type="hidden" name="datepicker" value="<?php echo $Ymd; ?>" id="datepicker" class="frm_input" size="10" maxlength="8">
<label for="datepicker" class="sound_only">시작일시</label>
<a href="<?php echo $_SERVER['PHP_SELF'].'?bo_table='.$bo_table.'&sca='.$sca ?>" class="btn_b02">오늘</a>
<a href="<?php echo $_SERVER['PHP_SELF'].'?bo_table='.$bo_table.'&sca='.$sca.'&Ymd='.date("Ymd", mktime(0,0,0, $s_month, $s_day-14, $s_year)) ?>" class="btn_b01">전주</a>
<a href="<?php echo $_SERVER['PHP_SELF'].'?bo_table='.$bo_table.'&sca='.$sca.'&Ymd='.date("Ymd", mktime(0,0,0, $s_month, $s_day+14, $s_year)) ?>" class="btn_b01">다음주</a>
 
<?php if ($rss_href) { ?><a href="<?php echo $rss_href ?>" class="btn_b01">RSS</a><?php } ?>
<!--
<?php if ($admin_href) { ?><a href="<?php echo $admin_href ?>" class="btn_admin">관리자</a><?php } ?>
<?php if ($write_href) { ?><a href="<?php echo $write_href ?>" class="btn_b02">등록</a><?php } ?>
-->
</div>
 
<?php if($is_admin == 'super'){?>
<fieldset id="bo_sch">
    <legend>게시물 검색</legend>
 
    <form name="fsearch" method="get">
    <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
    <input type="hidden" name="sca" value="<?php echo $sca ?>">
    <input type="hidden" name="sop" value="and">
    <label for="sfl" class="sound_only">검색대상</label>
    <select name="sfl" id="sfl">
    <option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject', true); ?>>서버명</option></select>
    <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
    <input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="frm_input required" size="15" maxlength="20">
    <input type="submit" value="검색" class="btn_submit">
    </form>
</fieldset>
<?}?>
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="spt" value="<?php echo $spt ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="sw" value="">
<div class="board_week_wrap">
 
<?php
for($i = 0; $i < $end_i; $i++) {
if($k == 8) {
$k = 1;
}
$Ymd = date("Ymd", $start_time+($i*60*60*24));
if($k == 6) $add_class[$Ymd] .= ' blue';
if($k == 7) $add_class[$Ymd] .= ' red';
if($Ymd < $today) $add_class[$Ymd] .= ' past';
 
if($i == 7){
echo '</div><div class="board_week_wrap">';}
?>
<!--
<script>
setInterval(function(){
  $(".toggle").toggle();
},600);
</script>
-->
 
<style>
.imgsrc{ border-radius:30px; display:inline-block; width:18px; height:18px;}
 
 
#red {
font-weight:bold;
-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {background-color: red;}
 30% {background-color: #b70000;}
 
}
@-moz-keyframes blink{
   0% {background-color: red;}
 30% {background-color: #b70000;}
}
@keyframes blink{
    0% {background-color: red;}
 100% {background-color: #b70000;}
}
#purple {
font-weight:bold;
-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blinka 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blinka{
    0% {background-color: purple;}
 30% {background-color: #5b0f5b;}
 
}
@-moz-keyframes blinka{
   0% {background-color: purple;}
 30% {background-color: #5b0f5b;}
}
@keyframes blinka{
    0% {background-color: purple;}
 100% {background-color: #5b0f5b;}
}
#yellow {
font-weight:bold;
-webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blinky 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blinky{
    0% {background-color: yellow;}
 30% {background-color: #ebeb3b;}
 
}
@-moz-keyframes blinky{
   0% {background-color: yellow;}
 30% {background-color: #ebeb3b;}
}
@keyframes blinky{
    0% {background-color: yellow;}
 100% {background-color: #ebeb3b;}
}
 
</style>
<dl class="<?php echo $add_class[$Ymd] ?>">
<?php if($is_admin == 'super'){?>
 <a href="/bbs/write.php?bo_table=notice&wr_1=<?php echo date("20ymd", $start_time+($i*60*60*24)); ?>" target="_blank" class="win_register">
 <?}?>
 <dt><b>
<?php echo $yoil[$k] ?>
<p><?php echo date("y.m.d", $start_time+($i*60*60*24)); ?></p></b>
</dt></a>
 
<?php if($info_list[$Ymd]) { foreach ($info_list[$Ymd] as $v){
if($g5['time_ymd'] <= $v['wr_10']){
if($i == 0){
for($e=0; $e<15; $e++){
echo '1';
}
}
}
?>
<ul class="toggle" style="background:<?=$v['wr_4']?>;" id="<?=$v['wr_4']?>">
<li>
<?php if ($is_checkbox) { ?>
<label for="chk_wr_id_<?php echo $v['wr_id'] ?>" class="sound_only"><?php echo $v['subject'] ?></label>
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $v['wr_id'] ?>" id="chk_wr_id_<?php echo $v['wr_id'] ?>">
<?php  } ?>
            <div class="cont">
<a href="<?php echo $v['wr_6'] ?>" target="_blank" style="color:<?if($v['wr_4'] === 'normal'){ echo '#222222';}else if($v['wr_4'] === 'yellow'){ echo '#222222';}else {echo '#ffffff';}?>;font-weight:normal; vertical-align:middle; font-size:0.9em; text-align:center; font-family:'S-CoreDream-8Heavy';" >
<?php echo $v['ca_name'].$v['subject'] ?>[<?php echo $v['wr_10'] ?>] [<?php echo $v['wr_5'] ?>]
</a>
</div>
</li>
</ul>
<?}?>
 
 
 
 
 
 
 
 
<?php } // end foreach, end if ?>
<div style="clear:both"></div>
</dl>
<?php
$k++;
} // end for
?>
</div>
<div style="clear:both"></div>
<?php if ($list_href || $is_checkbox || $write_href) { ?>
<div class="bo_fx">
<?php if ($is_checkbox) { ?>
<ul class="btn_bo_adm">
<li><input type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"></li>
<li><input type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"></li>
<li><input type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"></li>
</ul>
<?php } ?>
 
<?php if ($list_href || $write_href) { ?>
<ul class="btn_bo_user">
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li><?php } ?>
<!--<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">등록</a></li><?php } ?>-->
</ul>
<?php } ?>
</div>
<?php } ?>
</form>
</div>
<div id="start"></div>
<?php if($is_checkbox) { ?>
<noscript>
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
</noscript>
<?php } ?>
<script>
$(function(){
$("#datepicker").datepicker({
showOn: "button",
buttonImage: "<?php echo $board_skin_url; ?>/img/calendar.png",
buttonImageOnly: true, changeMonth: true, changeYear: true, dateFormat: "yymmdd", showButtonPanel: true, yearRange: "c-99:c+99",
onSelect: function() {
var date = $(this).val();
window.location.replace("<?php echo $_SERVER['PHP_SELF'].'?bo_table='.$bo_table.'&sca='.$sca.'&Ymd=' ?>" + date);
    }
});
});
</script>
<!-- 페이지 -->
<?php // echo $write_pages;  ?>
 
<!-- 게시판 검색 시작 { -->
<!-- } 게시판 검색 끝 -->
 
<?php if ($is_checkbox) { ?>
<script>
function all_checked(sw) {
    var f = document.fboardlist;
 
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]")
            f.elements[i].checked = sw;
    }
}
 
function fboardlist_submit(f) {
    var chk_count = 0;
 
    for (var i=0; i<f.length; i++) {
        if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
            chk_count++;
    }
 
    if (!chk_count) {
        alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
        return false;
    }
 
    if(document.pressed == "선택복사") {
        select_copy("copy");
        return;
    }
 
    if(document.pressed == "선택이동") {
        select_copy("move");
        return;
    }
 
    if(document.pressed == "선택삭제") {
        if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
            return false;
 
        f.removeAttribute("target");
        f.action = "<?php echo G5_BBS_URL ?>/board_list_update.php";
    }
 
    return true;
}
 
// 선택한 게시물 복사 및 이동
function select_copy(sw) {
    var f = document.fboardlist;
 
    if (sw == "copy")
        str = "복사";
    else
        str = "이동";
 
    var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
 
    f.sw.value = sw;
    f.target = "move";
    f.action = "<?php echo G5_BBS_URL ?>/move.php";
    f.submit();
}
</script>
 
<?php } ?>

이 질문에 댓글 쓰기 :

답변 1

해당 조건에 맞는 ul만 출력을 하고 싶습니다.<---이것이 무슨 말인지 이해할 사람이 있을지 의문입니다

예전에도 같은 질문을 했던데 답변한 사람있던가요?

해당 조건이라는 것이 무엇을 말하는가요?

 

그리고 코드도 군더더기가 많습니다

22행에서 원글은 이미 $list에 추출되어 들어있는데 또 원글까지 추출할 필요가 없습니다

88~90행에 의해서 $Ymd가 항상 값을 가지게 되니 93~96행은 필요없고 94행만 있으면 됩니다

또한 113~123행은 절대 실행될 수 없으니 필요없는 코드입니다(항상 $Ymd가 있으니 항상 $mod=3이기 때문)

229행의 for문에 의해서 242~311행이 여러번 반복하여 출력될 것인데 for문 밖으로 빼버려야합니다

 

322행부터가 문제인 것 같은데 조건에 맞는 ul 이라는 것이 도대체 무얼 말하는 것인가요?

어떤 모양의 출력을 원하는가요?

 

324~326은 무엇을 하기 위한 코드인가요? 테스트용인가요?

15번 무언가를 반복 하고싶은 것 같기도 하고....

 

해결하지못해 답답한 것 같아서 소스를 자세히 살펴보았지만 무엇을 하려는지 의도를 전혀 알 수 없었습니다

 

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 722
QA 내용 검색
filter #sql ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT