php foreach문 질문 드립니다..

php foreach문 질문 드립니다..

QA

php foreach문 질문 드립니다..

본문

온라인예약 스킨 수정중입니다.

여기서 해당일짜에대한 쿼리를 검색을해서 결과값이 있으면

예약불가능으로 바꿔주고 싶은대 ㅠㅠㅠ 

foreach문에서 sql select해서 검색값 유무를 확인하는 방법이 뭐가 있을까요.ㅠㅠ


<?php 

	foreach($time_array[$day_type] as $k=>$v)
	{
		$time_type = "오전";
		$reservation_yn = "N";

		if($v >= "12:00") {
			$time_type = "오후";
		}
		
		$v_strtotime = strtotime($currdate.$v);
		$now_strtotime = strtotime($nowdate.$now_hour);


		$test = $time_type."&nbsp".$v;
		//echo $test;

	//이부분의 값이 필요합니다...ㅠㅠㅠ3	
	$sql =" select count(*) from  g5_write_testbm where wr_1 ='".$currdate."' and  wr_2='".$test."' ";
	
		
		
		
		if ($v_strtotime > $now_strtotime)
		{
			$reservation_yn = "Y";
		}

		
		



?>				
				<li class="time_cls {currtime:'<?php echo $time_type." ".$v?>',reservation_yn:'<?php echo $reservation_yn?>'}"><a href="javascript:void(0);"><?php echo $time_type." ".$v?> <?php echo $reservation_yn=="Y"?"(예약가능)":"(예약불가)"?></a></li>
<?php
	}
?>	

부탁드립니다.ㅠㅠㅠ

이 질문에 댓글 쓰기 :

답변 5


$sql =" select count(*) AS cnt from  g5_write_testbm where wr_1 ='".$currdate."' and  wr_2='".$test."' ";
$row = sql_fetch($sql);
if (isset($row['cnt']) === true && $row['cnt'] > 0)
    echo '예약불가';
else
    echo '예약가능';
 

500 에러면 서버오류라는 얘기인데요

1. 실행권한 or 확장자 실행오류(httpd.conf)

2. $_GET, $_POST 변수 문제

3. 소스코드 오류


주소줄에 직접 ajax 호출하는 파일경로와 변수를 입력해서 실행해 보세요

다만 해당페이지의 변수처리는 $_GET 으로 수정하셔야 겠죠?

이렇게 해당 파일을 직접호출해서 오류를 수정하신후

다시 $_GET 변수로 수정된 부분을 $_POST 로 변경하시면 됩니다



DB 연결이 안되었네요

Ajax 호출하는 페이지 상단에

include_once('./_common.php');

와 같이 그누보드에서 사용하는 라이브러리가 include 하거나

따로 DB 연결 + 세션 시작.. 등등 의 내용이 들어 있는 파일을 include 해야 합니다


물론 해당 파일의 상단에 위의 내용이 들어 있는 소스를 직접 기재하셔도 되구요


ㅠㅠ 정말 바쁘신대 ㅠㅠ 감사합니다.ㅠㅠㅠ
현재 게시판페이지 내에서 ajax로 호출하게 되는대 ㅠㅠㅠ
그럼 write.skin.php 에다가 선언해주면 될까요 ㅠㅠㅠ.ㅠ..
현재 사용중인 스킨은
https://sir.kr/g5_skin/14508?sfl=wr_subject%7C%7Cwr_content&stx=%EC%98%88%EC%95%BD
이스킨입니다..ㅠ

예를 들어볼께요

1. write.skin.php - 예약 작성 하는 소스

2. ajax.php 또는 ajax.html - write.skin.php 에서 ajax 호출하는 파일

   (예약가능 여부를 판단)


이렇게 되어 있다면

ajax.php 또는 ajax.html 에 선언하셔야 합니다.

write.skin.php 에는 이미 필요한 소스가 include 되어 있는 상태이구요 


그리고 ajax.php 또는 ajax.html 에는

HTML 코드, echo, print_r 등등의 소스가 들어 있지 않는

파일을 include 하셔야 오류가 안납니다.

이러한 소스가 있으면 ajax 호출후 결과값이 제대로 리턴되지 않습니다

ajax 호출페이지가 ㅠㅠ
function getCal(year,month)
{
$.ajax({
url: board_skin+'/cal.php',
data: {
year : year
, month : month
, bo_table : "<?php echo $bo_table?>"
},
type: 'get',
dataType: 'html',
error: function(XMLHttpRequest, textStatus, errorThrown) {
},
success: function(response) {
$('#cal_body').html(response);
}
});
}

getCal("<?php echo date("Y",time())?>","<?php echo date("n",time())?>");

function getTime(currdate)
{
$.ajax({
url: board_skin+'/time.php',
data: {
currdate : currdate
},
type: 'get',
dataType: 'html',
error: function(XMLHttpRequest, textStatus, errorThrown) {
},
success: function(response) {
$('#time_body').html(response);
}
});
}
그래서 cal.php / time.php 에서 인클루드를 시켜주었는대도 안나오네요 ㅠㅠㅠㅠ
너무나 어렵습니다 ㅠㅠㅠㅠㅑㅐ혹댜ㅐ9혹ㄷ

cal.php 와 time.php 는 무슨 기능을 하는 파일인가요?


제 생각에 구현하려는 기능이 이런거 아닐까 싶은데요

write.skin.php 에서 예약게시판이라면

1. 현재일자 + 현재시간에 예약이 되어 있으면 예약불가 메세지

   현재일자 + 현재시간에 예약이 없으면 예약 처리

이런걸 원하신다면

https://sir.kr/g5_skin?sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EC%98%88%EC%95%BD 

다운받아 소스 분석을 하셔서 적용해 보세요


여기에서 질답으로 해결할 수 있는 내용을 넘어가는것 같습니다

ㅠㅠㅠ 바쁘신대 정말 감사합니다.ㅠㅠ
해당 스킨을 다운받아서 커스텀 하는 과정에서 ㅠㅠㅠ
기존엔 실시간과 소스상에 표시된 시간이 지나면 예약 불가능 기능만있어서
현재일자 + 예약되어있으면 예약불가를 표시하려는 기능을 추가하려고 했습니다.
데이터를 딱히 불러올방법이없어서 쿼리를 통하여 해당 일자+시간에 카운트가 되어있으면
예약불가 처리를 하려고 하였으나 ㅠㅠ sql을 뽑아오는 과정이 되지않아서 질문 하였습니다.ㅠㅠ
time.php / cal.php는
time 페이지에는 캘린더의 요일별 시간값들이 나오는 페이지이며
cal 페이지는 캘린더의 요일을 뽑아네는 페이지 입니다.ㅠ

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

회원로그인

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