배열 / 반복문 관련

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
배열 / 반복문 관련

QA

배열 / 반복문 관련

본문

그누보드5로 예약시스템을 만들기 위해

 

1. 관리자가 예약이 불가능한 시간을 지정(날짜선택 + 장소선택 + 불가시간선택(배열))

ex) wr_1 = 20221112, wr_2 = '장소1', wr_3 = '8:00~9:00|9:00~10:00|10:00~11:00'

 

2. 반복문으로 돌아가는 테이블에 아래와 같이 불가능한시간이 있을경우 예약불가를 표시하고,

onclick문을 다르게 작동.(onclick='false'로 리턴)

 

이런 기능을 만들었는데 사진에 체크된 시간대의 8:00~9:00 시간만 원하는대로 들어가고 9:00~10:00 부터 아래까지는 onclick이 구분이 안되네요ㅠㅠ 코드상에 어떤 부분이 수정이 필요한지 고수님들께 질문드립니다...

989955844_1667199684.0701.png

 

시간 비교를 위한 코드입니다.


$chk_sql = "select * from g5_write_".$bo_table." where wr_1 = '$write[wr_1]' and wr_4 = '$coat_result' and wr_7 = '$time'";
$result = sql_fetch($chk_sql);
                        
// 체크박스로 예약불가를 배열저장된 시간 가져오기
$checkbox_time = sql_Fetch("select select_time from g5_coat_holiday where select_date = '$write[wr_1]' and select_coat = '$coat_result'");
// 배열로 저장된 예약불가 시간 분할
$chkbox_time = explode('|', $checkbox_time['select_time']);
// 배열로 저장된 예약불가 시간 개수 지정
$chkbox_count = count($chkbox_time);

 

아래는 화면에 출력되는 부분입니다!!


<td <?php 
if(!$result['wr_subject']){ for($k=0; $k<=$chkbox_count; $k++){ if($time == $chkbox_time[$k]){ ?>onclick='' class='denine'<? } else{ ?>onclick="javascript:fn_submit('<?php echo $coat_result?>', '<?php echo $time ?>');" <?php } } ?><? } else{ echo "class='resesrved' "; } ?>>
                        <?php 
                                if($result['wr_subject']){
                                    if($member['mb_id'] == 'admin' || $result['mb_id'] == $member['mb_id']){
                                        echo "<a href='".G5_BBS_URL."/board.php?bo_table=$bo_table&year=$year&month=$month&wr_id=$result[wr_id]&sc_no=$sc_no'>";
                                        echo $result['wr_subject'];
                                        echo "</a>";
                                        if($result['wr_9'] == "Y"){
                                            echo '<img src="/img/i_paid.png" alt="결제완료" />';
                                        }
                                    }
                                    else{
                                        //echo cut_str($result['wr_subject'], 2, "*");
                                        echo iconv_substr($result['wr_subject'], 0, 1, "utf-8");
                                        echo "*";
                                        echo iconv_substr($result['wr_subject'], -1, 3, "utf-8");
                                    }
                                }
                                else{}
                                // 현재 출력할 시간과 배열로 가져온 시간 비교하여 시간이 있을 경우 disabled 처리
                                for($k=0; $k<=$chkbox_count; $k++){
                                    if($time == $chkbox_time[$k]){
                                        echo "예약불가";
                                    }
                                }
                            ?>
                    </td>

이 질문에 댓글 쓰기 :

답변 2

전체 코드가 있어야할 것 같은데요??

$coat_result 코트값 별로 불러와서.. 화면에 출력하고 있나요??

한번에 모든 코트별, 시간대별 배열에 전체 true, false 값을 저장하고..

출력 부분에서 이를 비교해서 출력해야할 것 같습니다.

 

답변 감사드립니다.다른 방법으로 진행하였습니당...

 

클래스명은 이상하게 원하는대로 잘 들어가서 jquery 중에 not() 구문을 사용하여

클래스명이 안들어간 항목에 onclick을 attr하는 방향으로 진행하였습니다!!

답변을 작성하시기 전에 로그인 해주세요.
전체 10,639
QA 내용 검색

회원로그인

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