ugrás a tartalomhoz

napok visszanyerése hétfőtől vasárnapig

MSzilveszter · 2007. Aug. 28. (K), 00.32
Egy olyan, nagyon egyszerű felépítésű naptárt próbálok elkészíteni a honlapomra, ahol hetfőtől csütörtökig hat kategóriába foglalt névsort jelenítek meg (tehát hogy melyik nap melyik kategóriába kinek a neve van, ami bármikor változhat). Ennek keretében kellett nekem a nap, mint a sor címe és maga a dátum szöveg nélkül a dbben való turkáláshoz.
Ha hétfő van, akkor egyszerű a dolgom, mert strotime("Next dayname") és megoldottam a visszanyerést. Viszont abban elakadtam, hogy ha nem hetfo van, tehat a

$hetfo = date('w'); // hany napra vagyunk a hetfotol 1 = hetfo

nem egy.
Eddig jutottam, a hetfo = 1 eseten is ez van, a $napok[1] résztől megfelően átírva.
A gond, hogy a strtotime("last Monday")); részbe nem tudom, hogy és mit helyettesítsek dinamikusan. Gondolom a +1 days vagy -1 days a jó irány, csak ennek a while vagy for() ciklusát nem tudtam kihozni magamból. Ha valakinek van ötlete, hogy ebbe hogy illeszthetném bele a megfelő helyre a megfelelő napot, akkor kérem, ossza meg velem!!!

if($hetfo != 1)
 {
$dats[1] = 6 - $hetfo; //szombatig van meg ennyi nap
$dats[2] = 7 - $dats[1];
echo('szombatig van meg ennyi:'.$dats[1].'<br>');
echo('szombatig ota eltelt ennyi: '.$dats[2].'<br>');
//hetfohoz
$dats[3] = $dats[1] + 2;  //kovetkezo hetfo
$dats[4] = $dats[2] - 2; // elozo hetfo
echo('hetfoig van meg ennyi:'.$dats[3].'<br>');
echo('hetfo ota eltelt ennyi: '.$dats[4].'<br>');

$napok[1] = "<strong>H&eacute;tf&otilde;</strong><br>".date('Ymd', strtotime("last Monday"));
$napok[2] = "<strong>Kedd</strong><br>".date('Ymd', strtotime("last Tuesday"));
$napok[3] = "<strong>Szerda</strong><br>".date('Ymd', strtotime("last Wednesday"));
$napok[4] = "<strong>Cs&uuml;t&ouml;rt&ouml;k</strong><br>".date('Ymd', strtotime("last Thursday"));
$napok[5] = "<strong>P&eacute;ntek</strong><br>".date('Ymd', strtotime("last Friday"));
$napok[6] = "<strong>Szombat</strong><br>".date('Ymd', strtotime("last Saturday"));
$napok[7] = "<strong>Vas&aacute;rnap</strong><br>".date('Ymd', strtotime("last Sunday"));
$datumok[1] = date('Ymd', strtotime("last Monday"));
$datumok[2] = date('Ymd', strtotime("last Tuesday"));
$datumok[3] = date('Ymd', strtotime("last Wednesday"));
$datumok[4] = date('Ymd', strtotime("last Thursday"));
$datumok[5] = date('Ymd', strtotime("last Friday"));
$datumok[6] = date('Ymd', strtotime("last Saturday"));
$datumok[7] = date('Ymd', strtotime("last Sunday"));
}


A továbbiakban, a keresés és kiíratás közben a keresési feltétel a datumok[ennyiedik_nap_a_heten], a megjelenő fejléc meg a $napok[ennyiedik_nap_a_heten], pl szerda = $datumok[3], csutortok $đatumok[4], stb. Ezek kotottek lennenek.
Szilveszter
 
1

egy kis előrelépés

MSzilveszter · 2007. Aug. 28. (K), 01.40
for($i=1; $i<8; $i++)
{
  echo('<strong>i:'.$i.' , hetfo: '.$hetfo.'</strong><br>');
  if($hetfo>$i){$ertek = '-'.$hetfo-$i.' days';}
  elseif($hetfo==$i){$ertek = 'now';}
  else{$ertek = '+'.$i-$hetfo.' days';}
  $datumok[$i] = date('Ymd', strtotime($ertek));
  echo $ertek.'<br>';
}

if($hetfo>$i){$ertek = '-'.$hetfo-$i.' days';}
viszont ezt kaptam vissza keddi napon ($hetfo=2):
i:1 , hetfo: 2
-3 days
i:2 , hetfo: 2
now
i:3 , hetfo: 2
1 days
i:4 , hetfo: 2
2 days
i:5 , hetfo: 2
3 days
i:6 , hetfo: 2
4 days
i:7 , hetfo: 2
5 days

szóval a 2-1 az -3...