Sternzeichen Ausgabe.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Sternzeichen Ausgabe.

    Hallo,

    ich habe ein Problem mit einen Script, das ich gerne verwenden möchte, habe auch schon versucht das Problem selbst zu lösen, aber nun bin ich an einem Punkt wo ich nicht verstehe, warum sich der Fehler so ergibt, vielleicht kann mir jemand helfen?

    Folgendes Script:
    PHP-Code:
    <?php
       
    function sternzeichen($day$month$year) {
          
    $zodiac = array('Steinbock','Steinbock','Wassermann','Fische','Widder',
                          
    'Stier','Zwilling','Krebs','Löwe','Jungfrau','Waage',
                          
    'Skorpion','Schütze');

          
    $dates = array( => array(mktime(0,0,0,12,22,1980), mktime(23,59,59,12,31,1980)),
                          
    => array(mktime(0,0,0,01,01,1980), mktime(23,59,59,01,19,1980)),
                          
    => array(mktime(0,0,0,01,20,1980), mktime(23,59,59,02,18,1980)),
                          
    => array(mktime(0,0,0,02,19,1980), mktime(23,59,59,03,20,1980)),
                          
    => array(mktime(0,0,0,03,21,1980), mktime(23,59,59,04,19,1980)),
                          
    => array(mktime(0,0,0,04,20,1980), mktime(23,59,59,05,20,1980)),
                          
    => array(mktime(0,0,0,05,21,1980), mktime(23,59,59,06,21,1980)),
                          
    => array(mktime(0,0,0,06,22,1980), mktime(23,59,59,07,22,1980)),
                          
    => array(mktime(0,0,0,07,23,1980), mktime(23,59,59,08,22,1980)),
                          
    => array(mktime(0,0,0,08,23,1980), mktime(23,59,59,09,22,1980)),
                         
    10 => array(mktime(0,0,0,09,23,1980), mktime(23,59,59,10,23,1980)),
                         
    11 => array(mktime(0,0,0,10,24,1980), mktime(23,59,59,11,21,1980)),
                         
    12 => array(mktime(0,0,0,11,22,1980), mktime(23,59,59,12,21,1980)));


           
          
    $aktuell mktime(0,0,0,$month,$day,$year); 
          
           
    //* reset ($dates);
        //* while (list($key, $value) = each ($dates)) {
        //*    echo "Schlüssel: $key; Wert 1: $value[0]; Wert 2:$value[1]<br />\n";
        //* }      

          
    foreach($dates as $k=>$v) {
          echo 
    "Array-Nr.: ".$k." Zeitrahmen: ".date("m-d-Y"$v[0])." = ".$v[0]." - ".date("m-d-Y"
    $v[1])." = ".$v[1]." vergleich = ".$aktuell."<br>";
             if((
    mktime(0,0,0,$month,$day,$year) >= $v[0]) && (mktime(0,0,0,$month,$day,$year) <= $v[1]))
        {
                return 
    $zodiac[$k];        
             }
          }
          return 
    FALSE;
       }
       
      
        for(
    $monat=1$monat<=12$monat++)
        {
               echo 
    "Ausgabe: ".$monat." Sternzeichen: ".sternzeichen(23,$monat,1980)."<br>"// Tag, Monat
        
    }
    ?>
    erzeugt folgende Ausgabe:
    Code:
    .
    .
    .
    .
    Array-Nr.: 8 Zeitrahmen: 07-23-1980 = 333151200 - 12-22-1979 = 314751599 vergleich = 344473200
    Array-Nr.: 9 Zeitrahmen: 12-23-1979 = 314751600 - 12-22-1979 = 314751599 vergleich = 344473200
    Array-Nr.: 10 Zeitrahmen: 12-23-1979 = 314751600 - 10-23-1980 = 341186399 vergleich = 344473200
    Array-Nr.: 11 Zeitrahmen: 10-24-1980 = 341186400 - 11-21-1980 = 343695599 vergleich = 344473200
    Array-Nr.: 12 Zeitrahmen: 11-22-1980 = 343695600 - 12-21-1980 = 346287599 vergleich = 344473200
    Ausgabe: 12 Sternzeichen: Schütze
    Bilde hier nur den letzten Abschnitt der Ausgabe ab, aber ich denke der Fehler dürfte erkennbar sein. Wobei die Monate 8-10 als Sternzeichen Waage interpretiert werden und auch den Fehler mit dem Jahren in $date 8-10 kann ich nicht erklären. Man betrachte die Ausgabe der Array's der mktime Funktion im Array $date?

    Gruss
    Silver
    Zuletzt geändert von Silberfalke; 21.09.2005, 19:37.

  • #2
    Re: Sternzeichen Ausgabe.

    http://www.php-resource.de/forum/sho...threadid=50454
    erst mal lesen und umsetzen, danke.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Sicherlich verstehe ich den Zwiespalt zwischen der Übersichtlichkeit und Länge eines Threads. Aber hier muss wohl das ganze Script rein, weil aus logischer Sicht gibt es in dem Script keine fehlerhafte Zeile, zumindest keine für mich erkennbare, es produziert aber dennoch oben beschriebene Fehler. Das einzige was ich mir eben vorstellen kann ist, das die mktime Funktion selber diesen Fehler generiert.

      Gruss
      Silver

      Kommentar


      • #4
        es ging ja auch eher um den querscrollbalken.

        aber uns erst mal erklären, was das script eigentlich machen soll und wie, könntest du trotzdem noch machen :-)
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          *lacht* okay die Idee, das zu erklären ist gut :-)

          Nun das Script soll eigentlich aus einer Datumsangabe berechnen, welches Sternzeichen derjenige hat. Um es zu testen, weil es in der Endgültigen Version eben oben beschriebenen Fehler erzeugte, habe ich das Jahr auf 1980 fest gesetzt, wobei ich es auch schon mit 2000 getestet habe. Das Ergebnis ist allerdings das selbe in den Zeilen 7-10 des Arrays $date wird aus dem Jahr das Jahr-1. Und die Zeitspanne beträgt beim Abschnitt 9 des Arrays nur noch 1 Tag, vom 23.12. - 22.12 und beim Abschnitt 10, einen Zeitraum von 2 Monaten 23.12 - 23.10. Wobei der Zeitrahmen eigentlich jeweils etwa 1 Monat sein müsste. Interessant ist das das Array zumindest für mich Augenscheinlich richtig definiert ist.

          Gruss
          Silver

          Kommentar


          • #6
            Der "Fehler" tritt also da auf, wo deine Monate von 07 auf 08 wechseln - OK, dann ist alles klar.

            Mal auf http://www.php.net/manual/de/language.types.integer.php nachlesen gehen :-)
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Danke, also ein Problem der Integerinterpretation :-)

              Gruss
              Silver
              Zuletzt geändert von Silberfalke; 21.09.2005, 21:53.

              Kommentar

              Lädt...
              X