09. januar 2012 - 20:58
Der er
12 kommentarer og 1 løsning
Liste uger i flere måneder
Jeg har dette script viser lørdagene i 4 måneder og jeg har brug for et array der lister 1. lørdag i hver måned og 2. lørdeg... for ($i=0; $i<=4; $i++) { if ($v_md[$i] == date("m")) $v_st_dag = date("d"); else $v_st_dag = 1; $start = mktime(0, 0, 0, $v_md[$i], $v_st_dag, $v_ar[$i]); $end = mktime(0, 0, 0, $v_md[$i]+1, 0, $v_ar[$i]); while ($start <= $end) { if (date('w', $start) == 6) { $dag = date('w', $start); $dag = $v_dag_navne[$dag]; $week_start = date('l Y-m-d', $start); $week_end = date('l Y-m-d', $start + 604800); $week = date('W', $start); $dato = date('d', $start); echo $dag .' d. ' . $dato; echo ' uge ' . $week; } $start += 86400; } } Erkørt lidt fast i det. / Finn
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
10. januar 2012 - 00:11
#1
<ole> - og spørgsmålet er? /mvh </bole>
10. januar 2012 - 00:12
#2
Sorry, jeg læste ikke ordentligt! Du har brug for et array, der lister 1. lørdag i hver anden måned - og hvad mere?
10. januar 2012 - 00:14
#3
"Du har brug for et array, der lister 1. lørdag i hver måned" skulle der selvfølgelig stå =)
10. januar 2012 - 09:26
#4
Ja jeg skal bruge et array for at lave en fpdf
10. januar 2012 - 15:36
#5
Ja, men hvad skal det præcist liste? Det fremgår ikke tydeligt af dit spørgsmål =)
10. januar 2012 - 15:53
#6
$dag, $dato, $week, $v_hold_lor = call_user_func ('find_hold_uge_lor', $week, 6, 1)
10. januar 2012 - 15:58
#7
Er ikke sikkert jeg har forstået spørgsmålet men prøver alligevel. Mon dette kan bruges til noget? <?php $uge = 60*60*24*7; for ($i=1; $i<=4; $i++) { $foersteloerdag = strtotime("this Saturday 1-". $i ."-". date("Y")); $andenloerdag = $foersteloerdag+$uge; /* Første lørdag i måneden */ echo " d. ". date("d",$foersteloerdag) ." uge ". date("W",$foersteloerdag); /* Anden lørdag i måneden */ echo " d. ". date("d",$andenloerdag) ." uge ". date("W",$andenloerdag); } ?>
10. januar 2012 - 16:16
#8
Jeg forstår stadig ikke, hvad dit array skal indeholde
10. januar 2012 - 17:38
#9
dag dato og uge for den første lørdag i 4 måneder i et array og et for den anden lørdag i 4 måneder til jeg har alle 4-5 lørdagene i de 4 måneder. Det script jeg startede med virker helt fint hvor dataene i en tabel, hvor alle ugerne i en måned kan lægges i et felt. Men til et fpdf script skal jeg bruge de første uger i er array osv. /Finn
10. januar 2012 - 18:09
#10
Så er alle første lørdage samlet under $dage1 og anden lørdage i måneden samlet under $dage2 som et array dag, dato og uge <?php $dage1 = array(); $dage2 = array(); for ($i=0; $i<4; $i++) { $foersteloerdag = strtotime("this Saturday 01-". (date("m")+$i) ."-". date("Y")); $andenloerdag = $foersteloerdag+604800; $dage1[] = array(date("w",$foersteloerdag), date("d-m-Y",$foersteloerdag), date("W",$foersteloerdag)); $dage2[] = array(date("w",$andenloerdag), date("d-m-Y",$andenloerdag), date("W",$andenloerdag)); } ?>
10. januar 2012 - 18:34
#11
- eller:
function getSaturdays($month, $year) { $saturdays = array(); $stamp = mktime(0, 0, 0, $month, 1, $year); $last = strtotime('last saturday of this month', $stamp); for ($i=0; $i<6; $i++) { $stamp = strtotime('next saturday', $stamp); $saturdays[$i] = date('d.m.Y', $stamp); if ($stamp==$last) break; } return $saturdays; } $saturdays = getSaturdays(1, 2012); var_dump($saturdays);
11. januar 2012 - 23:21
#12
Tak for jeres svar! Det gav mig stikordene til at komme videre. Det er nok ikke den kønneste kode, men den virker. $uge = array( $md => array(), ); $md = array( $da => array(), ); $da = array( 1 => array(), 2 => array(), 3 => array(), ); for ($md=0; $md<=$v_ant_md-1; $md++) { if ($v_md[$md] == date("m")) $v_st_dag = date("d"); else $v_st_dag = 1; $start = mktime(0, 0, 0, $v_md[$md], $v_st_dag, $v_ar[$md]); $end = mktime(0, 0, 0, $v_md[$md]+1, 0, $v_ar[$md]); $da = 0; while ($start <= $end) { if (date('w', $start) == 6){ $dag = date('w', $start); $dag = $v_dag_navne[$dag]; $week_start = date('l Y-m-d', $start); $week_end = date('l Y-m-d', $start + 604800); $week = date('W', $start); $dato = date('d', $start); $maaned = date('m', $start); $v_hold_lor = call_user_func ('find_hold_uge_lor', $week, 6, 1); $v_hold = str_split(call_user_func ('find_hold',$v_hold_lor), 7); $uge[$md][$da][1] = $dag .' d. ' . $dato; $uge[$md][$da][2] = 'uge ' . $week; $uge[$md][$da][3] = $v_hold[0]; $da++; } $start += 86400; } } #-------------------------------------------------------- for ($ui=0; $ui<=6; $ui++) { for ($li=0; $li<=3; $li++) { for ($mi=0; $mi<=$v_ant_md-1; $mi++) { if ($li == 3) $b ='B'; else $b = ''; $pdf->SetFont('Arial',$b,10); $pdf->Cell(40,5,$uge[$mi][$ui][$li],0,0,'L'); } $pdf->Ln(); } } Læg et svar så jeg kan lukke. / Finn
17. januar 2012 - 11:10
#13
lukker
Vi tilbyder markedets bedste kurser inden for webudvikling