2016-04-14 19 views
1

Bu takvimi pazartesi yerine pazartesi günü başlatmanın yollarını araştırıyorum.Haftalık günlüğüm pazartesi yerine pazartesi günü başlıyor

Çok sayıda farklı şey deniyorum, yani $ firstDayArray ['wday'] - 1, ama bir şey daha 1 günlük boşluk oluşturacak, daha sonra takvimi bir gün atlayacak.

Her türlü yardım güzel olurdu! P.s Büyük bir noob'um, ama pratik yapmaya çalışıyorum. Bu harika sitenin hemen hemen her köşesinde cevap bulmak için aramadım, henüz bulamadım.

<?php 
define("ADAY", (60*60*24)); 
if ((!isset($_POST['month'])) || (!isset($_POST['year']))){ 
    $nowArray =getdate(); 
    $month = $nowArray['mon']; 
    $year = $nowArray['year']; 
} else { 
    $month = $_POST['month']; 
    $year = $_POST['year']; 
} 
$start = mktime (12, 0, 0, $month, 1, $year); 
$firstDayArray = getdate($start); 
?> 
<!DOCTYPE html> 

<html> 
<head> 
<title><?php echo "Calendar:".$firstDayArray['month']." 
".$firstDayArray['year']; ?> 
</title> 
<meta charset="utf-8"> 
<meta lang="da"> 
<link type="text/css" rel="stylesheet" href="calendar_style.css"> 
</head> 
<body> 
<form align="center" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

<select name="month"> 
<?php 
$months = Array("Januar", "Februar", "Marts", "April", "Maj", "Juni", "Juli", "August", 
"September", "Oktober", "November", "December"); 
for ($x=1; $x <= count($months); $x++) { 
    echo"<option value=\"$x\""; 
    if ($x == $month) { 
     echo " selected"; 
    } 
    echo ">" .$months[$x-1]."</option>"; 
} 
?> 
</select> 
<select name="year"> 
<?php 
for ($x=2016; $x<=2018; $x++) { 
    echo "<option"; 
    if ($x == $year) { 
     echo " selected"; 
    } 
    echo ">$x</option>"; 
} 
?> 
</select> 
<button type="submit" name="submit" value="submit">Gå til måned</button> 

</form> 
<br> 

<?php 
$days = Array("Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"); 
echo "<table><tr>\n"; 
foreach ($days as $day) { 
    echo "<th>" .$day."</th>\n"; 
} 
for ($count=0; $count < (6*7); $count++) { 
    $dayArray = getdate($start); 
    if (($count % 7) == 0) { 
     if ($dayArray['mon'] != $month) { 
      break; 
     } else { 
      echo "</tr><tr>\n"; 
     } 
    } 
    if ($count < $firstDayArray['wday'] || $dayArray['mon'] != $month) { 
     echo "<td>&nbsp;</td>\n"; 
    } else { 
     echo "<td>" .$dayArray['mday']."</td>\n"; 
     $start += ADAY; 
    } 
} 
echo "</tr></table>"; 
?> 
</body> 
</html> 
+0

Eğer 'ayarladıktan sonra display: block', bu öğeleri hizalamak için 'margin: 0 auto' ayarlamalısınız –

cevap

0

Önyükleme 3 yerine bir girdi olarak kullanabilirsiniz. aşağıdakileri deneyin bu

<div class="container"> 
<div class="col-sm-6" style="height:130px;"> 
    <div class="form-group"> 
     <div class='input-group date' id='datetimepicker11'> 
      <input type='text' class="form-control" /> 
      <span class="input-group-addon"> 
       <span class="glyphicon glyphicon-calendar"> 
       </span> 
      </span> 
     </div> 
    </div> 
</div> 
<script type="text/javascript"> 
    $(function() { 
     $('#datetimepicker11').datetimepicker({ 
      daysOfWeekDisabled: [0, 6] 
     }); 
    }); 
</script> 

0

olarak https://eonasdan.github.io/bootstrap-datetimepicker/

(, sat güneşi) hafta gün devre dışı bırakabilir, çalışır:

<?php 
$days = Array("Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"); 
echo "<table><tr>\n"; 
foreach ($days as $day) { 
    echo "<th>" .$day."</th>\n"; 
} 
for ($count=0; $count < (6*7); $count++) { 
    $dayArray = getdate($start); 
    if ((($count + 7) % 7) == 0) { 
     if ($dayArray['mon'] != $month) { 
      break; 
     } else { 
      echo "</tr><tr>\n"; 
     } 
    } 
    if ($count < ($firstDayArray['wday'] + 6) || $dayArray['mon'] != $month) { 
     echo "<td>&nbsp;</td>\n"; 
    } else { 
     echo "<td>" .$dayArray['mday']."</td>\n"; 
     $start += ADAY; 
    } 
} 
echo "</tr></table>"; 
?> 
İlgili konular