patrick: MySQL-Daten sequentiell in PHP ausgeben

Hallo Gemeinde,  :)
ich möchte gerne URLs aus einer Datenbank auf Verfügbarkeit überprüfen. Das Programm funktioniert soweit, nur mit dem Haken, dass PHP immer nur das komplette Ergebniss aller Datensätze anzeigt (weil ja auf dem Server ausgeführt wird...).
Wie bekomme ich es nun hin, dass immer nur jeweils ein Datensatz überprüft und auf dem Bilschirm ausgegeben wird (damit ich nicht auf einen Timeout laufe) und danach erst der nächste aus der DB usw...?
Any ideas?

  1. Hallo Patrick,

    Bau hinter jeder Zeile, die ausgegeben werden soll, ein flush() ein. Damit wird der erzeugte Code bis zum flush() an den Browser geschickt.

    Mit freundlichen Grüßen

    Cochrane

    --
    Güter auf die Bahn!
  2. yo,

    Wie bekomme ich es nun hin, dass immer nur jeweils ein Datensatz überprüft und auf dem Bilschirm ausgegeben wird (damit ich nicht auf einen Timeout laufe) und danach erst der nächste aus der DB usw...?

    wenn ich dich richtig verstanden habe, willst du aber letztlich, dass alle links auf ihre gültigkeit überprüft werden. wenn du alles mit nur einem seitenaufruf anzeigen willst, dann ist der bisherige weg der beste, denn es wird nur eine abfrage an den server gestellt und nicht pro link eine abfrage. ein php skript könnte sicherlch auch immer eine url einzeln abfragen, das bringt aber reichlich wenig, weil es nur noch mehr zeit und bandbreite in anspruch nehmen würde. wenn du zugriff auf die php-ini dateien hast, dann könntest du den timeoutwert vergrößern.

    der andere weg, den man einschlagen kann, wenn du nur eine gewisse anzahl von links pro seitenaufruf überprüfst, zum beispiel die ersten 100, dann die nächsten 100, usw. dafür muss ein benutzer aber immer wieder einen weiteren seitenaufruf auslösen, zum beispiel mit einen weiter button.

    Ilja