배열로 저장된 데이터 비교
본문
예약 시스템을 제작 중에 있는데, 관리자가 예약이 불가능한 시간을 설정하기 위해
날짜와 장소 값을 Ajax로 넘겨주면 그 파일에서
for($i=6;$i <= 21;$i++){
$text = "";
$disable = "";
// 예약시간 출력(1시간단위)
$time = $i.":00~".($i+1).":00";
// 예약된 시간인지 확인
$check_reserv = sql_Fetch("select count(*) as cnt from g5_coat_holiday where select_date = '$re_date' and select_coat = '$coat' and select_time = '$time'");
// 해당 코트에 예약된 사람이 있을경우 "예약불가" 표시
if((int)$check_reserv['cnt'] > 0){
$text = "(예약불가)";
$disable = "disabled='true'";
}
else{
$text = "";
$disable = "";
}
echo "<label><input type='checkbox' name='select_time[]' value='".$time."'".$disable." > ".$time."</label><br>";
}
이러한 코드로 지정한 시간이 이미 있다면 체크박스가 disabled되는 기능이 있습니다..
전에는 제가 배열을 주고받고 할 줄을 몰라서 radio버튼으로 하나씩 등록하게 했다가 체크박스로 바꿨음 좋겠다는 피드백을 듣고 '06:00~07:00|07:00~08:00|08:00~09:00' 같이 배열 형태로 데이터가 저장되게는 만들었으나 배열로 비교하는 방법을 모르겠습니다..
참고가 될만한 자료를 알려주시면 정말 감사드립니다...ㅠ
!-->답변 3
포함 불포함이면이고
https://xorms0707.tistory.com/m/76
참거짓은 여기 참고하시면되겠습니다.
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=psj9102&logNo=221007725780
Type=Radio 경우 처리한 것과 같게 처리 하시면 될 거 같은데요
name='select_time[1]'
name= select_time1
답변 감사드립니다ㅎㅎ
어제 for문으로 해결해놓구 이제 답변 남겨드리네욥
// 체크박스로 예약불가 저장된 시간 가져오기
$checkbox_time = sql_Fetch("select select_time from g5_coat_holiday where select_date = '$re_date' and select_coat = '$coat'");
// 배열로 저장된 예약불가 시간 분할
$chkbox_time = explode('|', $checkbox_time['select_time']);
// 배열로 저장된 예약불가 시간 개수 지정
$chkbox_count = count($chkbox_time);
// 현재 출력할 시간과 배열로 가져온 시간 비교하여 시간이 있을 경우 disabled 처리
for($j=0; $j<=$chkbox_count; $j++){
if($time == $chkbox_time[$j]){
$disable = "disabled='true'";
}
}
이 for문을 기존에 radio버튼으로 설정한 부분 아래쪽에 넣어주어 기존 데이터도 문제 없고, checkbox로 설정된 데이터들도 문제없이 들어가는 것을 확인했습니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.