첫번째 값을 어떻게 구하나요? 고수님께 여쭙니다.
관련링크
http://php, sql
10회 연결
본문
$rdate = "25-01-23"; // 회원입력 값
$loop ="3"; // 회원입력 값
$z = 0;
for ($i=0;$i<$loop;$i++) {
$rdateadd = date("Y-m-d", strtotime("{$rdate} +{$z} day"));
while (!check_day($rdateadd, $wr_1, $arr_weekday) {
$z++;
$rdateadd = date("Y-m-d", strtotime("{$rdate} +{$z} day")); // 저장일자
}
sql_query (" insert into $aaa_table set reg_date = '$rdateadd ' ");
}
$startday = ????????;
$endday = $rdateadd;
sql_query (" insert into $bbb_table set first_day = '$startday', last_day = '$endday ' ");
위 코드는 고수님들 보시면 아시겠지만 그래도 설명을 드리자면...
유저가 $rdate 값과 $loop 값을 입력하게 되면 그 날짜를 기준으로 일자를 찾아 저장하는 코드 입니다.
즉 loop에 3를 입력하고 2025-01-23을 입력하면...
2025-01-23 ($z가 0) 을 check_day 함수의 조건을 돌려 날짜를 추출하고,
그다음에는 $z에 +1을 더하여 2025-01-24를 돌려 조건에 맞는 날짜를 추출....
뭐 이런식으로요... 모두다 조건에 맞는 다고 치면
2025-01-23를 저장하고 2015-01-24저장하고 2015-01-25저장하고 빠져 나옵니다.
check_exist 함수는 조건에 맞는 날짜를 추출하는 함수입니다.
3개의 조건 즉, 일요일이라든지 특정 일자를 제외하고 스킵해서 조건에 맞는 날짜를 추출하게 됩니다.
[질문]
루프를 다 돌고난 뒤, 첫일자와 마지막 일자를 찾고 싶습니다.
마지막 일자는 루프를 다 돌고난 $rdateadd 값으로 하면 될 꺼 같아요.
그런데 첫일자는 $z가 0일때 루프를 돌고난 $rdateadd 값이 될텐데요.
이 값을 어케 추출해야하는지 힌트좀 부탁드려요.
!-->
답변 2
$z가 0일때면 $z++ 위에
if($z == 0) 해서 따로 변수를 하나 만드시고 원하시는 값을 저장하시면 되지 않으실까요?
for문을 돌릴 때 생성되는 일자를 배열로 저장합니다.
반복 완료 후 생성된 배열에서, 첫번째 값과, 마지막 값을 가져오시는 방법을 쓰셔도 될 듯 합니다.
답변을 작성하시기 전에 로그인 해주세요.