yıl ve ay ile adresler oluşturarak yardıma ihtiyacım var

4 Cevap

Ben önceki ve sonraki bağlantıya URL'ler oluşturmak gerekir

İşte bir örnek

<a href="/calendar/2009/10/">previous</a>
<? echo $_GET['month'].', '.$_GET['year']; // shows 11, 2009
<a href="/calendar/2009/12/">next</a>

2. parça yıl ve birinci bölüm ay olduğu

Ben GET dizide ay ve yıl var, ama herhangi bir fikir en iyi nasıl bunu yapmak için?

Ben önceki ay bir yeni yıl olsaydı prevmonth = Ay-1, ama sonra, hepsi berbat olsun diye düşünüyordum.

4 Cevap

strtotime () oldukça kolaylaştırır.

$year = 2009;
$month = 5;

$nextMonth = strtotime('+1 Month', strtotime($year.'-'.$month.'-01'));

echo date('Y/m', $nextMonth);

Mantık bu tür yakalamak oldukça kolay ...? Senin ay sınırların dışına çıkarsa, sadece yıl / Aralık inc ...

#sanity check inputs
$month=min(max(intval($_GET['month']), 1),12);
$year=intval($_GET['year']);

$prev=array($month-1, $year);
if ($prev[0]==0)
{
    $prev[0]=12;
    $prev[1]--;
}
$next=array($month+1, $year);
if ($next[0]==13)
{
    $next[0]=1;
    $next[1]++;
}

Ben en kolay yolu sadece "önceki aya <1" durumu için kontrol edin ve yıl azaltma olacağını düşünüyorum. Orada bunu yapmak için daha akıllı bir yol olabilir, ancak bu anlamak için yeterince kolay olabilir:

$prevyear = intval($_GET['year']);
$prevmonth = intval($_GET['month']) - 1;

// Check for year rollover.
if ( $prevmonth < 1 ) {
   $prevmonth = 12;
   $prevyear = $prevyear - 1;
}