테스트 사이트 - 개발 중인 베타 버전입니다

배열 / 반복문 관련 채택완료

Zi이가람Zone 3년 전 조회 1,938

그누보드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이 구분이 안되네요ㅠㅠ 코드상에 어떤 부분이 수정이 필요한지 고수님들께 질문드립니다...

 

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

</p>

<p>$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'");</p>

<p>// 배열로 저장된 예약불가 시간 분할

$chkbox_time = explode('|', $checkbox_time['select_time']);</p>

<p>// 배열로 저장된 예약불가 시간 개수 지정

$chkbox_count = count($chkbox_time);</p>

<p>

 

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

</p>

<p><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></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
e
3년 전

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

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

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

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

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

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

 

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

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인