Код захотел укратить..в итоге должно показывать неделя с ...по... (для этого надо было только 3 цыфры менять, но я взял только две в цикле чтобы легче было) показывало PHP: <? //*nedelya s - po $data=strtotime($myrow["datum"]);//перевод даты $wochenanf=date(w,$data);//какой номер дня (воскресенье=1) if ($wochenanf=="1"){ $datas=date("d.m.Y",$data); $datado=strtotime("+6 days",$data); $datado=date("d.m.Y",$datado); echo "<br><br><center style='color:blue'>Die Woche vom ".$datas." bis ". $datado."</center>";} elseif ($wochenanf=="2"){ $datas=strtotime("-1 day",$data); $datas=date("d.m.Y",$datas); $datado1=strtotime("+5 days",$data); $datado1=date("d.m.Y",$datado1); if ($datado1 != $datado) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado1."</center>";} elseif ($wochenanf=="3"){ $datas=strtotime("-2 day",$data); $datas=date("d.m.Y",$datas); $datado2=strtotime("+4 days",$data); $datado2=date("d.m.Y",$datado2); if ($datado2 != ($datado or $datado1)) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado2."</center>";} elseif ($wochenanf=="4"){ $datas=strtotime("-3 day",$data); $datas=date("d.m.Y",$datas); $datado3=strtotime("+3 days",$data); $datado3=date("d.m.Y",$datado3); if ($datado3 != ($datado2 or $datado or $datado1)) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado3."</center>";} elseif ($wochenanf=="4"){ $datas=strtotime("-3 day",$data); $datas=date("d.m.Y",$datas); $datado4=strtotime("+3 days",$data); $datado4=date("d.m.Y",$datado4); if ($datado4 != ($datado2 or $datado or $datado1 or $datado3)) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado4."</center>";} elseif ($wochenanf=="5"){ $datas=strtotime("-4 day",$data); $datas=date("d.m.Y",$datas); $datado5=strtotime("+2 days",$data); $datado5=date("d.m.Y",$datado5); if ($datado5 != ($datado2 or $datado or $datado1 or $datado3 or $datado4)) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado5."</center>";} elseif ($wochenanf=="6"){ $datas=strtotime("-5 day",$data); $datas=date("d.m.Y",$datas); $datado6=strtotime("+1 days",$data); $datado6=date("d.m.Y",$datado6); if ($datado6 != ($datado2 or $datado or $datado1 or $datado3 or $datado4 or $datado5)) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado6."</center>";} elseif ($wochenanf=="0"){ $datas=strtotime("-6 day",$data); $datas=date("d.m.Y",$datas); $datado7=$data; $datado7=date("d.m.Y",$datado7); if ($datado7 != ($datado2 or $datado or $datado1 or $datado3 or $datado4 or $datado5 or $datado6)) echo "<br><br><center style='color:blue'>Woche vom ".$datas." bis ". $datado7."</center>";} ?> Сократил, но теперь на каждый день показывает... что сделать у меня логики не хватает. на помощь PHP: <? for($iwday=0, $iwdaydo=7;$wday<7, $iwdaydo>0;$iwday++, $iwdaydo--){ if($wochenanf==$iwday){//если перечилснное в цикле равняется дню то выдать неделя с.. по... $datas=date("d.m.Y",$data);//перевод даты в 00.00.0000 $datado=strtotime("+ ".$iwdaydo." days",$data);//вычисление последнего дня недели $datado=date("d.m.Y",$datado);//перевод в 00.00.0000 echo "<br><br><center style='color:blue'>Die Woche vom ".$datas." bis ". $datado."</center>";}}//выдача ?> но мне на каждый день не нужно.. нужно, чтобы поймало первый день, будь то понедельник или вторник и написало.. потом для следующей недели, я так понимаю.. просто надо, что-то вроде elseif использовать, но нельзя ведь с самого начала так делать
попробывал всунуть сперва иф и потом в цикл засунуть тольько элсиф, все равно не работает "Parse error: syntax error, unexpected T_ELSEIF in zgn.php on line 52" PHP: <? $data=strtotime($myrow["datum"]); $wochenanf=date(w,$data); if ($wochenanf=="1"){ $datas=date("d.m.Y",$data); $datado=strtotime("+6 days",$data); $datado=date("d.m.Y",$datado); echo "<br><br><center style='color:blue'>Die Woche vom ".$datas." bis ". $datado."</center>";} for($iwday=1, $iwdaydo=6;$wday<7, $iwdaydo>0;$iwday++, $iwdaydo--){ elseif($wochenanf==$iwday){//52 строка $datas=date("d.m.Y",$data); $datado=strtotime("+ ".$iwdaydo." days",$data); $datado=date("d.m.Y",$datado); echo "<br><br><center style='color:blue'>Die Woche vom ".$datas." bis ". $datado."</center>";}} ?>
set_time_limit(9.9E+33); for ($i = 0; $i; $i++) { function(); sleep(3600*24*7); } echo date("d", strtotime("-".(date("N")-1)." days")), ' — ', date("d", strtotime("+".(7-date("N"))." days"));
Или так: PHP: <?php $daynum = date('N'); echo date("d", (($daynum == 1) ? time() : strtotime("last Monday"))), '—', date("d", ($daynum == 7) ? time() : strtotime("next Sunday"));
вау спасибо.. респект крекер, столько новых идей.. но я видимо забыл упомянуть.. у меня этот пхп на повторе //*pe4at ili obi4nii wid while($myrow=mysql_fetch_array($resultz)){ if(!empty($druck)){include('optional/zgnd.php');} else{include('optional/zgn.php');}} все равно на каждый день выдает 8)