2011-07-01 29 views
5

Đây là Mã PHP của tôi tạo ra một hộp chọn có tên tháng + Năm. Tôi có 2 Tem thời gian mà tôi đang sử dụng trong vòng lặp bắt đầu dấu thời gian và dấu thời gian kết thúc.Thêm một tháng vào dấu thời gian trong mỗi lần lặp

bây giờ vấn đề là ví dụ nếu dấu thời gian bắt đầu của tôi đại diện cho 01.07.2011 và như trong vòng lặp, tôi chỉ thêm 30 ngày để đóng dấu thời gian thì i selectbox July sẽ được hiển thị hai lần. và nếu tôi thêm 31 ngày thì có thể một tháng sẽ bị bỏ qua.

Có chức năng nào có thể thêm chính xác một tháng cho mỗi lần lặp không?

<select name="checkinMonth" class="selectform" id="checkinMonth" > 
<?php 
    for($month = $checkin_timestamp; $month <= $checkout_timestamp; $month += 30*60*60*24) { 
     $checkin_month = getdate($month); 
     $option_text = strftime("%B %Y",$month); 
     $option_value = strftime("%Y%m", $month); 
     $selected = ($checkin_selected == $option_value ? "selected='selected'" : ""); 

     echo "<option value='{$option_value}' {$selected}>{$option_text}</option>"; 
    } 
?> 
</select> 

Trả lời

4

Và nếu bạn thích một cái gì đó tiết hơn, hãy thử này:

$tmp_year = date("Y", $month); 
$tmp_month = date("m", $month); 
$tmp_day = date("d", $month); 
$tmp_hour = date("H", $month); 
$tmp_min = date("m", $month); 
$tmp_sec = date("s", $month); 

$month = mktime($tmp_hour, $tmp_minute, $tmp_second, $tmp_month + 1, $tmp_day, $tmp_year); 

Tôi đoán bạn sẽ phải để đặt nó vào chức năng riêng của nó để làm cho nó phù hợp với mệnh đề đó: P

Các vấn đề liên quan