Script zu langsam

  • Also, falls das skript nur local laufen soll, setze einfach die execute time in der php.ini auf 0. Dann kannst das skript endlos laufen lassen, oder apache sich aufhängt.


    Ich weis nicht was du machen willst, is mir iwi auch zu doof die skripte zu suchen.


    Aber die 2 möglichkeit ist es zu stückeln über header weiterleitungen.


    Einfach die arbeit splitten, und das skript von neuem aufrufen.


    C:\xampp\php\php.ini


    so zeile 440 ; 450 und 458 sind für dich wenn interressant

  • Hallo timtim,


    das Script soll später auf dem Host laufen.


    Zitat

    Aber die 2 möglichkeit ist es zu stückeln über header weiterleitungen.


    Einfach die arbeit splitten, und das skript von neuem aufrufen.


    Ich versteh nur Bahnhof. Ich bin ein absoluter Anfänger mit PHP.


    Mfg


    Starhunter

  • Eigentlich ganz simpel.
    Hier ein nützliches Manual


    http://php.net/manual/de/function.header.php


    Wenn du nun über

    Code
    header('Location: http://www.example.com/');

    bestimmte daten anhängst die du zur verarbeitung benötigst kannst zu ein und die selbe (oder auch andere datei) mit bestimmten variablen (zb. per $_GET) benutzen um bestimmte operationen auszuführen


    Das tutorial sollte dich auf den richtigen weg bringen.


    MFG
    R4Zz0R

  • Hm, die problematik, besteht jetzt glaub eher darin, das das skript auch nicht von dir ist, und ohne die nötigen kenntnisse, nicht so weiteres bearbeitbar für dich.



    Vielleicht schreibst mal hier kurz was das skript macht. Und lädst sie iwo als txt hoch =).


    Greetz TimTim

  • Hallo timtim,


    also es geht um folgendes Projekt. Der Buchladen eines Klosters möchte die Titel seiner Bücher auf einer Webseite ausgeben. Die Bücher(376) sind in einer Access Datenbank gespeichert. Ich habe die DB in eine Textdatei exportiert und möchte eine einfache Suchfunktion in PHP implementieren.
    Buchinformationen:


    Titel, Buchcode, Kategory, Preis


    376 Bücher sind wirklich nicht die Welt. Warum dauert es ewig?


    book_collection.php


    Test.php


    Books.txt


    Mfg


    Starhunter

  • Ok, ich glaube hier ist nicht das skript zu langsam, das müsst locker in ner sekunde die ausgabe hinbekommen.


    Ich glaube eher es kommt zu einer endlosschleife..


    ich werde das mal schnell testen.


    Greetz Timtim

  • Ist die Klasse von dir?


    Hab den fehler gefunden.



    in der Funktion:




    Hoffe du erkennst was ich meine


    in der zeile //hier fehlt..


    ist die var i ohne $ geschriben. das fürht wie gesagt zur endlosschleife.



    Ich bekomm aber keine bücher raus, wen ich bei Kategorie WE angebe, aber es gibt diese kat..



    Greetz TimTim

  • Hallo timtim,


    danke, wirklich ein blöder Fehler. :oops: Die Endlosschleife ist jetzt beseitigt, jetzt muß ich mal schauen warum die Bücher nicht gefunden werden.


    Zitat

    Ist die Klasse von dir?


    Ja, den Code habe ich komplett selbst geschrieben.


    Mfg


    Starhunter][/quote]

  • Vill ist es ein Logig fehler..
    wenn du das Return der funktion mal mit print_r ausgibst, siehst du das dort nichts drinn ist.


    Vill, willst du die daten nicht in $this->item schreiben sondern in $result->item..


    oder ähnlich.


    Denn das return, gibt ja nur die gestartet klasse zurück.
    Hab die logig noch nicht ganz verstanden..


    Aber ich schau mal ob ich was finde.


    Greetz TimTim

  • Hallo timtim,


    Zitat

    Vill, willst du die daten nicht in $this->item schreiben sondern in $result->item..


    danke, hab ich schon korrigiert, ändert aber nichts.


    Neuer Code:


    Mfg


    Starhunter

  • Ja, das problem ist, ich blick leider nich ganz durch die klasse durch.


    Vill kannst ja mal ne UML machen.


    Also ne art durchlaufweise, was die klasse macht,


    bspp


    Klasse wird gestartet
    -konstukter variable // benötig für


    funktion //soll das machen



    funtkion wird aufgerufen //soll das machen dafür gut sein.,



    =D.


    Kann mich momentan da nich so ganz reindenken.


    Verstehe z.B nicht warum du die Klasse in der klasse nohmal aufrufst.



    Greetz TimTim

  • Öhm, ich habs jetzt hinbekommen. Aber über n paar umwege..



    1. in der txt is der preis das letzte, du aber gibst der array, category al s letzes. Und dadurch war das verschoben.


    2. habe ich die funktion unten ein wenig umgebaut. So das dort direkt die zutreffenden bücher reingeschriebe werden.


    Und dann hab ich das auf der test.php über ne foreach ausgelesen, damit ich nicht auf die ids angewiesen binn.


    Dann lass ich die funktion gleich noch die anzahl der bücher auslesen, und gebe oben dann die zahl dadurch aus.


    Soll ich dier das hier mal posten, oder willst es selbst probieren ?

  • kk, für fragen bin ich hier.


    aber ihc hab mich auch selbst verarscht. Es gibt 2 preise die heisen NA.


    Und ich hab bei der suche natürlich na drinn gehabt. Daher hab ich mich gewundert warum es nur 2 ergebisse gab =D.


    So bin ich drauf gekommen das die Array nicht korrekt Indiziert sind =D.

  • Hallo timttim,


    Zitat

    Es gibt 2 preise die heisen NA.


    Ja, ein paar Titel hatten dummerweise ein Komma mit drin.
    Ich werde die Access DB neu exportieren und einen anderen Separator nehmen. Ein Fehler den ich mittlerweile gefunden habe war die Funktion "BookCollection->addBook" die ein Array erwartet, aber ein Object bekommt. Blöder Fehler.
    Bisher habe ich in Delphi und C# programmiert und der Compiler meldet Dir solche Fehler.


    Mfg


    Starhunter


    P.S Wenn alles fertig ist poste ich es hier mit ein paar Kommentaren. Vielleicht kann jemand etwas damit anfangen.

  • Ehm, joa.. du solltest als seperator entweder | oder ne kombi nehmen |||



    Error_reporting zeigt dir die fehler auch an.


    Denn könntest mal anmachen


    error_reporting(E_ALL);



    Greetz TimTim


    -------------------------------


    Und nochwas.. arbeite bei php immer mit den {} bei den if.



    Dann bekommst auch da weniger komplikationen.


    greetz TimTim

  • Hallo timtim,


    es funktioniert jetzt :)
    Danke nochmal für Deine Hilfe.




    Mfg


    Starhunter

  • Jop schick.


    Meine lösung auch noch =D.








    Is noch n Print_r drinn, und hab das dann nicht alles entfernt, was nixmehr bringt. Aber theoretisch würds auc hso gehen.


    Nur so zum vergleichen =)

  • Hallo timtim,


    das versteh ich nicht ganz.


    Code
    public function getBooksByCategoy($category) 
      { 
            ...
            $this->found_books[$i] = $this->items[$i]; 
            ...   
      }


    Hast Du da nicht viele leere plätze im Array? Könnte ein Problem sein beim Ausgeben.


    Mfg


    Starhunter

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!