php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-09-2008, 13:08
ackrite
 Newbie
Links : Onlinestatus : ackrite ist offline
Registriert seit: Sep 2008
Beiträge: 5
ackrite ist zur Zeit noch ein unbeschriebenes Blatt
Standard Problem mit KW Auswahl

Hi Mädels und Jungs,

ich habe ein Problem und zwar habe ich einen Kalender erstellt, der immer eine Woche anzeigt. Leider funktioniert die KW auswahl für die Jahre 2008 und 2007 nicht, für alle anderen Jahre geht das könnt ihr mir helfen?
Ich poste mal das script meiner 2 Dateien

Datei Date.php
PHP-Code:
<?php
// aktuelle Zeit
$today time();
$datum getdate($today);

// für Wochentagsanzeige
$days = Array("Montag""Dienstag""Mittwoch""Donnerstag""Freitag""Samstag""Sonntag");

// aktuelles Datum
$tag date("j");
$month date("n");
$year date("Y");

//aktueller Tag
$daymaker mktime(000$month$tag$year);     //Unixzeit aktueller Tag
$day2 date("d.m.Y"$daymaker);            //heutige Datum                
$today_var getdate($daymaker);                    
$thisday $today_var[wday];                 //Tag der Woche
$kw date("W");                    //aktuelle KW

//echo $day2;
if($day == "Mon"){$day "Montag";}
if(
$day == "Tue"){$day "Dienstag";}
if(
$day == "Wed"){$day "Mittwoch";}
if(
$day == "Thu"){$day "Donnerstag";}
if(
$day == "Fri"){$day "Freitag";}
if(
$day == "Sat"){$day "Samstag";}
if(
$day == "Sun"){$day "Sonntag";}

// Anzahl Kalenderwochen für Auswahlmenu
if($jahrwahl != "")
{
    
$ende_jahr mktime(0,0,0,12,31,$jahrwahl);
    
$letzte_kw date("W",$ende_jahr);
}
else
{
    
$ende_jahr mktime(0,0,0,12,31,$year);
    
$letzte_kw date("W",$ende_jahr);
    
$jahrwahl $year;
}

// Jahre für Auswahlmenu
$year_v $jahrwahl-1;
$year_n $jahrwahl+1;


// falls Formular nicht abgeschickt wurde, wird aktuelle Woche und Jahr angezeigt
if($kwwahl == "")
{
    
$kwwahl $kw;
}
if(
$jahrwahl =="")
{
    
$jahrwahl $year;
}

// andere Woche / Jahr inklusive Berücksichtigung von Schaltjahren
for($a=0$a<=6$a++)
{
    
$erster mktime(0,0,0,1,1,$jahrwahl); 
    
$wtag date('w',$erster);
    if (
$wtag <= 4)   // Donnerstag oder kleiner: auf den Montag zurückrechnen.
    
{
        
$montag mktime(0,0,0,1,1-($wtag-1),$jahrwahl);
    } 
    else   
// auf den Montag nach vorne rechnen.
    
{
        
$montag mktime(0,0,0,1,1+(7-$wtag+1),$jahrwahl); 
    } 
    
$firstmonday $montag;
    
$mon_monat date('m',$firstmonday);
    
$mon_jahr date('Y',$firstmonday); 
    
$mon_tage date('d',$firstmonday); 
    
$tage = ($kwwahl-1)*7
    
$mondaykw mktime(0,0,0,$mon_monat,$mon_tage+$tage,$mon_jahr); 

    
$first_day $mondaykw $a 86400;

    
$tag_x[] = date("d.m.Y"$first_day);
}
?>
Datei oben.php

PHP-Code:
<?
include ("date.php");
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}
//-->
</script>

<div align="center"><font size="5"><strong> Wochenplaner<br>
  </strong></font> </div>
  <?
//echo $letzte_kw;
//echo $kwwahl."<br>";
//echo $jahrwahl."<br>";
?>
<form name="form1" method="post" action="<? echo $PHP_SELF?>">
  <p align="center">Woche: 
    <select name="kw_select" onChange="MM_jumpMenu('self',this,0)">
      <?php
        
// Wochen-Auswahl
        
if($kwwahl != "" AND $kwwahl != $kw)
        {
            for(
$i=1$i<=$letzte_kw;  $i++)
            {
                echo 
"<option value=index.php?kwwahl=".$i."&jahrwahl=".$jahrwahl."";
                echo (
$i == $kwwahl)?" SELECTED":"";
                echo 
">KW ".$i."</option>\n";
            }
        }
        else
        {
            for(
$i=1$i<=$letzte_kw$i++)
            {
                echo 
"<option value=index.php?kwwahl=".$i."&jahrwahl=".$jahrwahl."";
                echo (
$i == $kw)?" SELECTED":"";
                echo 
">KW ".$i."</option>\n";
            }
        }
        
?>
    </select>
    &nbsp;&nbsp;Jahr: 
    <select name="jahr_select" onChange="MM_jumpMenu('self',this,0)">
      <?php
        
// Jahres-Auswahl
        
if($jahrwahl != "" AND $jahrwahl != $year)
        {
            
            for ( 
$x=$year_v$x<=$year_n$x++ )
            {
                echo 
"\t<option value=index.php?kwwahl=".$kwwahl."&jahrwahl=".$x."";
                echo (
$x == $jahrwahl)?" SELECTED":"";
                echo 
">$x\n";
            }
        }
        else
        {
            for ( 
$x=$year_v$x<=$year_n$x++ )
            {
                echo 
"\t<option value=index.php?kwwahl=".$kwwahl."&jahrwahl=".$x."";
                echo (
$x == $year)?" SELECTED":"";
                echo 
">$x\n";
            }
        }
        
?>
    </select>
    &nbsp; 
    <input type="button" name="submit2" value="Heute" onClick="self.location.href='index.php'">
    &nbsp; 
    <input type="button" name="submit_new" value="eintragen" onClick="self.location.href='data/new.php'">
  </p>
</form>
Hoffe ihr könnt etwas finden.

Gruß

Ackrite
Mit Zitat antworten
  #2 (permalink)  
Alt 11-09-2008, 13:17
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Ich habe mir deine Problembeschreibung zugegeben nicht komplett durchgelesen, aber ich weise vorsorglich schonmal darauf hin, dass die date-Funktion mit W als erste Kalenderwoche die ausgibt, die als erstes komplett in einem Jahr ist. In Deutschland (und meines Wissens allen deutschsrachigen Ländern) ist die erste Kalenderwoche aber die, die als erstes mindestens 4 Tage in einem Jahr hat. Dadurch kann es schonmal vorkommen, dass es in einem Jahr zweimal die "erste" Kalenderwoche gibt (wie dieses): Einmal am Anfang und einmal am Ende. Mit den str?time-Funktionen solltest du mit V die korrekte Wochennummer bekommen.
Mit Zitat antworten
  #3 (permalink)  
Alt 11-09-2008, 13:35
ackrite
 Newbie
Links : Onlinestatus : ackrite ist offline
Registriert seit: Sep 2008
Beiträge: 5
ackrite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich bin leider nocht nicht sooo der crack in PHP.

Was müsste ich denn jetzt ändern?
Mit Zitat antworten
  #4 (permalink)  
Alt 11-09-2008, 14:48
ackrite
 Newbie
Links : Onlinestatus : ackrite ist offline
Registriert seit: Sep 2008
Beiträge: 5
ackrite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wenn ich mir mit
$kw= date ("W");
echo $kw;

die Woche ausgeben lasse wird mir die korrekte KW ausgegeben. Nur kann ich im Popdownmenü keine KW auswählen dort steht beim Jahr 2008
immer nur eine 1 beim Jahr 2009 funktioniert es reibungslos.

Das kann dann ja nicht so wirklich das Problem sein......
Mit Zitat antworten
  #5 (permalink)  
Alt 11-09-2008, 14:53
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.782
unset befindet sich auf einem aufstrebenden Ast
Standard

Stimmt. Hab Blödsinn erzählt. Das ist schon lange nicht mehr so

Trotzdem würde ich mit den str?time-Funktionen arbeiten. "+1 year" ist halt schon Praktisch
Mit Zitat antworten
  #6 (permalink)  
Alt 11-09-2008, 15:35
ackrite
 Newbie
Links : Onlinestatus : ackrite ist offline
Registriert seit: Sep 2008
Beiträge: 5
ackrite ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Irgendwie ist mir nicht klar wie du das meinst

An welcher Stelle muss ich denn den Quelltext überarbeiten???
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:56 Uhr.