While Schleife und Intervall darin

suedi

Mitglied
Also mein problem von gestern, bin etwas weiter gekommen

PHP:
 while($tag = date("D", mktime(0,0,0,$test_monat,$test_tag+$i,$test_jahr)))
      {
         $i++;
         if ($tag == "Fri")
         break;

      }
       while($tag = date("D", mktime(0,0,0,$test_monat+$i,$test_tag,$test_jahr)))
       {
         $i = $i + 19;
         if ($i == "Mon")
         break;
      }

      while($tag = date("D", mktime(0,0,0,$test_monat+$i,$test_tag,$test_jahr)))
       { $i++;
         if ($tag == "")
         break;
      }
       return $tag;
    }

Also die erste schleife stimmt einwandfrei, die anderen gehen noch nicht. Ich lese damit das intervall für jeweils 5 tage, (erste schleife), 19 tage(zweite schleife) und 114 tage(3 schleife), ausgegeben wird ein aktien chart. Der wochenchart geht, der monatschart(2 schleife) und der halbjahrchart(3 schleife) geht nicht, da ein fehler in den letzten 2 schleifen drin ist, ein größerer fehler, ich weiß nur nicht welcher

hoffe ich wurde verstanden
danke suedi
 
Ich bin mir nicht ganz sicher, aber eine Abfrage auf "" was für nichts entspricht, ist irgendwie bei ner tagesabfrage nicht sehr gut in einklang zu bringen, weil ein Tag ja immer etwas ist, und nicht nichts.
 
nein nein, das hatte ich mit absicht freigelassen, weil ich nicht wusste was da rein soll, die schleife wurde auch auskommentiert, bringt aber nix, mei ich komme einfach nicht weiter...
 
while($tag = date("D", mktime(0,0,0,$test_monat,$test_tag+$i,$test_jahr)))
{
$i++;
if ($tag == "Fri")
break;


}
Wie wäre es denn, wenn Du alles zusammenfasst(in eine Schleife, und anstelle der nachfolgenden Zählschleife, die Abfrage anders gestaltest, indem Du einmal abfragst wie oben, dann abfragst,if ($i==$j) $j muss alle 19 schritt um 19 erhöht werden, und anfangs definiert werden, als um 19 grösser als$i

Die Abfragen für $tag können nämlich auch alle innerhalb der gleichen Schleife realisiert weden.


ich hoffe Du hast meinen Gedankengängen folgen können
{
$i = $i + 19;
if ($i == "Mon") hier kann es sein das es $tag heissen sollte?
break;
}

while($tag = date("D", mktime(0,0,0,$test_monat+$i,$test_tag,$test_jahr)))
{ $i++;
if ($tag == "")
break;
}
return $tag;
}
 
ich habe dich so im großen und ganzen verstanden

bin aber absoluter newbie, würde es dir ausmachen mir es so in etwa hinzuschreiben, wie es sein muss

wäre genial
danke:)
 
mein kleines Problem ist, das die Sprache für mich Dialekt ist, da ich ab und an mal was in C programmier, und die Sprache zwar in etwa lesen, aber nicht wirklich gut schreiben kann.

Ich werds aber doch mal noch versuchen, was ich aber zuerst wissen möchte, ist folgendes

Dein Zeitintervall bei der ersten Schleife, ist der nicht eigentlich normal 7 Tage, weil Du jeweils den Freitag abfragst?
Ist es möglicherweise so, das Dein Zeitintervall für die zweite Schleife anstatt 4x5-1=19 Tage 4*7= 28 Tage beträgt?
und wie kommst Du auf die 114 Tage beim dritten Zeitintervall?
 
Zuletzt bearbeitet:
Muss es nicht

if ($tag == "Fri"){
break;
}

heissen?

Bei deiner Variante steigt er doch gleich aus der While-Schleife aus!

Und dann zu deiner While-Schleife:

while($tag = date("D", mktime(0,0,0,$test_monat,$test_tag+$i,$test_jahr)))
{
$i++;
if ($tag == "Fri")
break;
}

Was soll das bringen? Woher hast du die Variable $tag? Ich versteh deine ganze Konstruktion nicht! :confused:
 
$tag

ist die funktion date("D", mktime(0,0,0,$test_monat,$test_tag+$i,$test_jahr

sieht man doch oder?

man darf das, ich probiere mal das aus was du sagst, danke, ich melde mich dann wieder
 
Dein Zeitintervall bei der ersten Schleife, ist der nicht eigentlich normal 7 Tage, weil Du jeweils den Freitag abfragst?
Ist es möglicherweise so, das Dein Zeitintervall für die zweite Schleife anstatt 4x5-1=19 Tage 4*7= 28 Tage beträgt?
und wie kommst Du auf die 114 Tage beim dritten Zeitintervall?
 
Also ich glaube dein tipp geht nicht,bin mir aber nicht sicher

das intervall ist richtig, wochenenden werden nicht gezählt(keine aktienkurse), 6 x19 =114(halbjahr)

ich weiß nicht wie ich das intervall für 19 tage bezeichnen soll und diese im IF tag einarbeiten soll, Tage zu bezeichnen und einzugrenzen geht ja mit DATE und MKTime leicht, aber ich weiß nicht wie ich es für ein intervall machen soll, was keine bezeichnung hat

tipps?
 
Zurück