Funktion will ned

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

  • Funktion will ned

    Hallo zusammen

    ich habe mir eine Fkt gestrickt, die mir die Kurse von Aktien des SP500
    Index bei Yahoo als .csv Datei abholen und verarbeiten soll.
    PHP-Code:
    function sp500_yahoo($shs)
    {
        
    $i 0;
        
    $ii 0;
        
    $style explode(',''Symbol,Last,Date,Time,%Chng,Open,High,Low,Vol');
        foreach(
    $shs as $wert)
        {
            
    $result .= nl2br(file_get_contents("http://finance.yahoo.com/d/quotes.csv
             ?sym=
    $wert&f=sl1d1t1c1ohgv&e=.csv"));
        }
        
    $raw_data explode('<br />'str_replace('"','',$result));
        
    $ende count($raw_data);
        while(
    $ii $ende)
        {
            
    $symbol preg_replace('/\s\s+/','',$raw_data["$ii"]);
            
    $pos strpos($symbol,",");
            
    $index substr($symbol,0,$pos);
            
    $temp explode(','$symbol);
            while(
    $i9)
            {
                
    $stil $style["$i"];
                
    $output["$index"]["$stil"] = $temp["$i"];
                
    $i += 1;
            }
            
    $ii += 1;
        }
        return 
    $output;

    Soweit so gut. Das Dumme ist nur, dass beim Rückgabewert nur
    erste Element erstellt wird. Eigentlich müssten es 500 sein.
    $raw_data, das Array für die weitere Verarbeitung enthält aber 500
    Elemente (zu Testzwecken mal global und mittels var_dump ausgegeben--> 500 Elemente).
    Der Fehler muss also irgendwie in den beiden while Schleifen
    auftreten.
    Das erste Element wird völlig korrekt erstellt und dann wird die
    Schleife irgendwie beendet, was aber erst beim letzten Element von
    $raw_data geplant gewesen wäre.

    Vielen Dankl für Eure Hilfe
    Gruss

    tobi
    Zuletzt geändert von jahlives; 15.05.2005, 13:22.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

  • #2
    Hab's gefunden. Ziemlich dämlicher Fehler. Muss das $i natürlich innerhalb der ersten while Schleife immer wieder mit 0 initialisieren.
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Weisse Seite und IE ev Proxy Problem

      Ich verwendet diesen bereits bestehenden Post, weil es bei diesem
      Problem immer noch um das gleiche Script geht.
      Das Problem ist folgendes:
      Das Script sollte mir eine ziemliche Anzahl Daten aus dem Web holen und
      mit bereits bestehenden Daten vergleichen. Die Ausgabe soll in einer
      Tabelle erfolgen, die sich innerhalb eines div's befindet. Das Script besteht
      aus zwei Containern, wovon der erste position:absolute; hat und der
      zweite die Tabelle beinhalten sollte (diesen sollte man dann scrollen können).
      Soweit so gut, doch das dumme ist nur, dass die Tabelle einfach leer bleibt
      (weisse Seite). Der gesamte Quelltext ist jedoch an den Browser übertragen worden
      --> wird nur nicht angezeigt.
      Weiterhin ist komisch, dass dieses Problem nur hinter einem Proxy
      auzutreten scheint. Wenn das Script direkt aufgerufen wird, dann erscheint
      alles wie geplant.
      Ich habe mittels headern das Caching unterbunden, da ich dachte, dass
      dies u.U. das Problem sein könnte. Denkste...
      Der Code ist gemäss W3C valide. Das Problem betrifft nur den IE6, alle anderen Browser funzen prächtig.
      Hat jemand eine Idee woran das liegen könnte ?

      Vielen Dank für Eure Hilfe

      Gruss

      tobi
      Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

      [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
      Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

      Kommentar


      • #4
        Immer merkwürdiger...

        Habe noch folgendes, komisches Verhalten bemerkt. Wenn ich das Script aufrufe(hinter dem Proxy), dann wird der Grossteil des Inhaltes nicht angezeigt. Wenn ich nun aber die Grösse des Fensters auch nur um 1 Milimeter ändere, dann kommt der Inhalt wie gewünscht.
        Weiss jemand wie man dieses Verhalten abstellen könnte ?

        Danke und Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Mit Javascript kann man den IE erkennen. Nun könntest du mit JS oder CSS das DIV anders gestalten oder ein Redraw der Seite erzwingen - ob letzteres geht weiß ich nicht. Vielleicht gibts eine JS-Methode dafür, vielleicht genügt auch ein Ändern der Fenstergröße.

          Kommentar


          • #6
            Danke für den Tipp: Habe ne Lösung gefunden mittels window.resizeTo()

            Gruss

            tobi
            EDIT:

            Funzt nur wenn die Grösse um mindestens einen Pixel verändert wird. Ein resize mit den bereits bestehenden w und h bringt aber nichts.

            Zuletzt geändert von jahlives; 17.05.2005, 13:05.
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar

            Lädt...
            X