Sequentielles Abarbeiten von DB-Abfragen
Patrick
- php
0 wahsaga0 Tom
0 Christoph Zurnieden
Hallo Leute,
ich experimentiere gerade ein wenig mit PHP und MySQL. Starte ich nun mehrere SELECTS in einer MySQL-DB aus PHP heraus, wird erst das komplette Ergebnis, also die fertige Seite ausgegeben. Wie schaffe ich es, dass er mir pro SELECT erst einmal das Ergebnis herausgibt und dann zum nächsten SELECT übergeht...
Beispiel:
1. Abfrage einer URL aus der DB
2. Link-Check
3. Ausgabe ob Link aktiv/inaktiv
4. gehe zu Punkt 1...
Danke schon mal im voraus...
Gruss
Patrick
hi,
Wie schaffe ich es, dass er mir pro SELECT erst einmal das Ergebnis herausgibt und dann zum nächsten SELECT übergeht...
flush() - funktioniert aber nicht immer zuverlässig.
gruß,
wahsaga
Hello,
Wie schaffe ich es, dass er mir pro SELECT erst einmal das Ergebnis herausgibt und dann zum nächsten SELECT übergeht...
flush() - funktioniert aber nicht immer zuverlässig.
Bei Server auf Windows nur mit Nachhilfe und bei Server auf Linux nur dann, wenn bestimmte Header noch nicht gesetzt sind. Das habe ich neulich durch Zufall herausgefunden.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
ich experimentiere gerade ein wenig mit PHP und MySQL. Starte ich nun mehrere SELECTS in einer MySQL-DB aus PHP heraus, wird erst das komplette Ergebnis, also die fertige Seite ausgegeben. Wie schaffe ich es, dass er mir pro SELECT erst einmal das Ergebnis herausgibt und dann zum nächsten SELECT übergeht...
Indem Du einfach die Anzahl an SELECTs reduzierst. Am besten auf einen.
Anhand Deines eigenen Beispiels:
Beispiel:
- Abfrage einer URL aus der DB
Warum nicht gleich alle abfragen, in einen Array packen und dann mittels eines kleinen rosa Schleifchens ...
- Link-Check
... den Link im Array markieren, ob er ...
- [...] aktiv/inaktiv
... ist und dann _nicht_ ...
- gehe zu Punkt 1...
... sondern: Ausgabe.
Das Du hier zweimal durchs Array huschen mußt (Läßt sich aber vermeiden, wenn Du mal ein klein wenig darüber sinnierst ;-) ist immer noch deutlich(!) billiger als mehrmals die DB zu fragen.
Es kann sein, das es in neueren PHP Versionen möglich ist den STDOUT Buffer zu ändern. Das ist aber generell nur extrem selten eine gute Idee. Sowenig DB-Anfragen wie möglich zu haben ist hingegen generell eine gute Idee.
so short
Christoph Zurnieden