php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.10.2005, 14:36  
Erfahrener Benutzer
 
Registriert seit: 09.06.2005
Beiträge: 213
seven-12
Standard zeitraum darstellen

Hallo,

wie kann ich zum Beispiel den Zeitraum von 20.03 bis zum 20.04 darstellen?
Ich habe die Variebla mintime (20.03) und maxtime(20.04)
jetzt muss ich nur noch sagen: wenn das datum dazwischen liegt...
ich habe ine variable: $tim = mktime(0, 0, 0, $monat, $x, $jahr);

die bedingungen , wie zum Beispiel

Code:
 elseif ($tim<$min_date){ # vergangenheit
                                print "<td>9$x</td>";
                                }
                        elseif ($tim>$max_date){ # zukunft
                                print "<td>10$x</td>";
                                }
funktionieren. min_date (20.01)und max_date (20.02) sind die Angaben zur ersten Zeiträumen.

Könntet Ihr mir weiterhelfen?

Danke,

seven-12
seven-12 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.10.2005, 14:48  
Gast
 
Beiträge: n/a
Standard

Zeitstempel des Enddatums mit mktime erstellen ($ende).
Solange auf das Startdatum bei mktime() einen Tag aufaddieren, bis der so entstandene Zeitstempel nicht mehr kleiner ist als $ende.

PHP-Code:
<?php echo date('d.m.y'mktime(2001352005)); ?>
gibt 04.02.05 (statt 35.1.2005) aus. Um die Umrechnung brauchst du Dir also keine Gedanken machen.
 
Alt 01.11.2005, 16:04  
Erfahrener Benutzer
 
Registriert seit: 09.06.2005
Beiträge: 213
seven-12
Standard

Könntet Ihr mir weiter damit helfen?

ich habe 2 Zeiträume: (min_date, max_date und min_date1 und max_date2)
min_date=01.09.2005
max_date=31.10.2005

min_date2=01.11.2005
max_date2=30.11.05

Im Kalender sollten die Tagen und Monate die dazwischen liegen angezeigt werden.

Mit dem Skript unten werden nur die Tagen zwischen min_date und max_date dargestellt.
Wie mache ich es, dass ich auch gleichzeitig die anderen Zeiträume darstelle?
Irgendwie klappt es nur , wenn ich als if Abfrage schreibe:
Code:
elseif($tim >$max_date2){
                                 print "<td>";
                                //print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\">$x</a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\">20$x</a>";
                                print "</td>";
                                } 
Code:
<?php

global $date1,$date2,$tim1,$tim2;
if (strpos($min_date,".")){
   	$dm_ = explode(".", $min_date);
    $min_date = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
if (strpos($min_date2,".")){
   	$dm_ = explode(".", $min_date2);
    $min_date2 = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
if (strpos($max_date,".")){
   	$dm_ = explode(".", $max_date);
    $max_date = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}
if (strpos($max_date2,".")){
   	$dm_ = explode(".", $max_date2);
   	$max_date2 = mktime(0, 0, 0, $dm_[1], $dm_[0], $dm_[2]);
}

$now = mktime(0,0,0);
if($min_date<$now)$min_date=$now;

if (!$max_date)$max_date=$now+(60*60*24*330);
if (($date1)&&(!$monat)&&(!$jahr)){
    $d1 = check_date_($date1);
    if($d1){
        $d1_ = explode(".", $d1);
        $tim1 = mktime(0, 0, 0, $d1_[1], $d1_[0], $d1_[2]);
        while ($tim1<$min_date){
            $d1_[2]+=1;
            $tim1 = mktime(0, 0, 0, $d1_[1], $d1_[0], $d1_[2]);
        }
        if (!$date2){
            $day   = $d1_[0];
            $monat = $d1_[1];
            $jahr  = $d1_[2];
        }
    }
    else $tim1=$now;
}
if (($date2)&&(!$monat)&&(!$jahr)){
    $d2 = check_date_($date2);
    if(!$d2)$d2=$d1;
    if($d2){
        $d2_ = explode(".", $d2);
        $tim2 = mktime(0, 0, 0, $d2_[1], $d2_[0], $d2_[2]);
        while ($tim2<$tim1){
            $d2_[2]+=1;
            $tim2 = mktime(0, 0, 0, $d2_[1], $d2_[0], $d2_[2]);
        }
    	while ($tim2>$max_date ){
    		$d2_[2]-=1;
    		$tim2 = mktime(0, 0, 0, $d2_[1], $d2_[0], $d2_[2]);
    	}
        $day   = $d2_[0];
        $monat = $d2_[1];
        $jahr  = $d2_[2];
    }
}

settype ($monat, "integer");
if($monat==0)$monat=date("n");
if($jahr==0)$jahr=date("Y");

$mons_=" Januar Februar M&auml;rz April Mai Juni Juli August September Oktober November Dezember";
$mon_s=" Jan Feb M&auml;r Apr Mai Jun Jul Aug Sep Okt Nov Dez";
$mons =explode(" ", $mons_);
$mon_short =explode(" ", $mon_s);

$lm=$monat-1;
$ly=$jahr;
if($lm<1){$lm=12;$ly--;}
$nm=$monat+1;
$ny=$jahr;
if($nm>12){$nm=1;$ny++;}
?>
Code:
<?php
                $day = date( "w", mktime(0, 0, 0, $monat, 1, $jahr));
                if ($day==0)$day=7;
                $day--;
                // Print KW
                $yday= strftime ("%V", mktime(0, 0, 0, $monat, (1-$day), $jahr));
                #$date = getdate(mktime(0, 0, 0, $monat, (1-$day), $jahr));
                #$yday = (($date['yday'])+7)/7;
                settype ($yday, "integer");
                print "<td>$yday</td>";

                for ($x=0; $x<$day; $x++){ # leerstellen zum auffuellen
                        print "<td></td>";
                        
                        }

                $days_in_month = date( "t", mktime(0, 0, 0, $monat, 1, $jahr));
                $liste=explode("\n", $eintrag);
                for ($x=1; $x<=$days_in_month; $x++){
                     $tim = mktime(0, 0, 0, $monat, $x, $jahr);
                    
                 
                        $wd = date( "w", mktime(0, 0, 0, $monat, $x, $jahr));
                        # marken setzen
#                       if ($tim==$tim1){ # abflugtag
#                               print "<td align=\"right\"><font class='ab'>5$x</font></td>";
#                               }
#                       elseif ($tim==$tim2){ # ankunftstag
#                               print "<td align=\"right\"><font class='an'>$x</font></td>";
#                               }
                        if (((($x+$day)%7)==0)&&(($tim<$min_date)||($tim>$max_date))){ # sonntag in der vergangenheit oder zukunft
                                print "<td class=\"txtMark\">6$x</td>";
                                }
                        elseif (((($x+$day)%7)==0)&&(stristr($ns,$wd))){ # nicht erlaubte sonntage
                                print "<td class=\"txtMark\">7$x</td>";
                                }
                        elseif (stristr($ns,$wd)){ # nicht erlaubte wochentage
                                print "<td>8$x</td>";
                                }
                        elseif ($tim< $min_date){ # vergangenheit
                                print "<td>9$x</td>";
                                }
                        elseif ($tim >$max_date){ # zukunft
                                print "<td>10$x</td>";
                                }
                                elseif($tim >$max_date2){
                                 print "<td>";
                                //print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\">$x</a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\">20$x</a>";
                                print "</td>";
                                }
                                
                        
                        	
                        # link setzen
                        elseif ($tim==$tim1){ # abflugtag
                                print "<td class=\"bgDarkGrey\">";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                //print "window.opener.document.$form.$element2.selectedIndex='".($monat-1)."';";
                                print "window.document.location='#';closeiframe();\">11$x</a>";
                                print "</td>";

                                }
                        elseif ($tim==$tim2){ # ankunftstag
                                print "<td class=\"bgDarkGrey\">";
                                //print "<a href=\"javascript:window.parent.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='an'>$x</font></a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\">12$x</a>";
                                print "</td>";
                                }
                        elseif ((($x+$day)%7)==0){ # sonntag
                                print "<td>";
                                //print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='red'>$x</font></a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\"><span class=\"txtMark\">13$x</span></a>";
                                print "</td>";
                                }
                        elseif ($tim==$now){ # heute
                                #print "<td align=\"right\"><font class='now'>$x</font></td>";
                                print "<td>";
                                //print "<a href=\"javascript:window.parent.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='now'>$x</font></a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\"><U>14$x</U></a>";
                                print "</td>";
                                }
                        elseif($tim < $max_date2){
                        	 #print "<td align=\"right\"><font class='now'>$x</font></td>";
                                print "<td>";
                                //print "<a href=\"javascript:window.parent.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\"><font class='now'>$x</font></a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\"><U>14$x</U></a>";
                                print "</td>";
                                }
                        	
                             
                       /* else {
                                print "<td>";
                                //print "<a href=\"javascript:window.opener.document.$form.elements['$element'].value='$x.$monat.$jahr';window.document.location='#';zu();\">$x</a>";
                                print "<a href=\"javascript:window.parent.document.$form.$element1.value='".($x).".".($monat).".".($jahr)."';";
                                //print "setMonatsIndex(window.opener.document.$form.".$element2.", '".$monat."');";
                                print "window.document.location='#';closeiframe();\">15$x</a>";
                                print "</td>";
                                }
                          */      

                        if (((($x+$day)%7)==0)&&($x!=$days_in_month)){ # neue reihe mit kw am anfang
                                print "</tr><tr align=\"right\">";
                                // Print KW
                                $yday= strftime ("%V", mktime(0, 0, 0, $monat, ($x+1), $jahr));
                                #$date = getdate(mktime(0, 0, 0, $monat, ($x+1), $jahr));
                                #$yday = (($date['yday'])+7)/7;
                                settype ($yday, "integer");
                                print "<td>$yday</td>";

                                }
                        }
                ?>
ich würde für Eure Hilfe sehr dankbar sein,

Grüsse,

Seven-12
seven-12 ist offline  
Alt 01.11.2005, 17:26  
Erfahrener Benutzer
 
Registriert seit: 09.06.2005
Beiträge: 213
seven-12
Standard

sorry,

ich habe es rausgekriegt,

LG,

seven-12
seven-12 ist offline  
Alt 02.11.2005, 08:32  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

und woran lag es.. ?
__________________
Wie man Fragen richtig stellt
dsmcg ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
tage in zeitraum - saisonpreisberechnung dennisfreud PHP-Fortgeschrittene 5 16.02.2010 05:16
Fließtext zweispaltig darstellen? tapferesschneiderlein HTML, Usability und Barrierefreiheit 8 09.03.2006 22:23
Statistik grafisch darstellen havok PHP Tipps 2007 14 19.12.2005 19:19
PHP MySQL Projekt Grafisch Darstellen ? Wie und Womit ? Cyberbob_at_tot Off-Topic Diskussionen 8 03.11.2005 14:28
Checkbox für einen Zeitraum PHP Tipps 2005-2 2 19.10.2005 10:51
[Erledigt] Termine mit und ohne einen Zeitraum ausgeben Datenbanken 2 18.10.2005 13:24
Html-Emails im Browser korrekt darstellen Andreas Beitragsarchiv 0 15.08.2005 12:01
Auswertung über einen bestimmten Zeitraum boehseronkel Datenbanken 2 20.07.2005 10:50
Daten aus der Datenbank in 3 Spalten pro Zeile darstellen? ThaRider PHP Tipps 2005-2 7 14.07.2005 23:00
Sourcecode darstellen mit php papalangi PHP Tipps 2005 7 07.05.2005 22:28
Zeitraum festlegen PHP Tipps 2005 2 18.01.2005 14:19
schriftgröße darstellen PHP Tipps 2004 1 03.11.2004 20:14
[Erledigt] schriftgröße darstellen HTML, Usability und Barrierefreiheit 2 03.11.2004 12:35
Brüche darstellen PHP-Fortgeschrittene 15 23.09.2004 20:55
ACCESS Datenbank in Homepage darstellen !! --Hilfe-- PHP Tipps 2004 7 29.06.2004 17:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
zeiträume darstellen, zeitspanne in html darstellen, zeitraum darstellen, php monat dazwischen, access 2010 abfrage monat in zeitraum, php datum grafisch darstellen, access 2010 abfrage tag und monat in einem zeitraum, zeitspanne darstellen, zeitspannen darstellen, access zeiträume darstellen, $this->set kw(date(\'w\', mktime()), date(\'w\', mktime()));, zeitraum zwischen zeiträumen füllen, monatszeitraum php, php zeiträume grafisch darstellen, zeitraum php, php zeitraum, php mktime mit variable erstellen, php alle monate zeitraum, php document.form.element.value, access zeitraum darstellen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.