Antworten auf deine Fragen:
Neues Thema erstellen

PHP Befehl erst am Ende ausführen

d3mueller

PC-Freak :D

Hi, gibt es die Möglichkeit, ein PHP Skript/Befehl, erst am Ende ausführen zu lassen? Also wenn alles andere schon fertig ist?

Aber eben nicht, indem man es ans Ende setzt^^. z.B. wenn man was auf der Seite oben anzeigen will (über dem "normalen" Content, in dem alles Berechnet wird etc) und dieses Skript aber erst danach ausgeführt werden soll/darf.

Weil dann muss man es ja oben einfügen, damit es auch oben angezeigt wird. Kann man aber irgendwie sagen, dass es eben erst am Ende ausgeführt werden soll?

danke schon mal

Lg
 

Mereel

Aktives Mitglied

AW: PHP Befehl erst am Ende ausführen

Also, du willst ein Ergebnis ausgeben, das jedoch erst später berechnet wird?? Das wird schwierig werden ;-)

Ohne zu wissen, welche "Skripte" du da ausführst, was "oben angezeigt" werden soll und was der "normale Content" ist, kannst du doch erst deinen PHP Code in der benötigt Reihenfolge ausführen und erst dann den HTML Code in der gewünschten Reihenfolge ausgeben.
 

owieortho

Aktives Mitglied

AW: PHP Befehl erst am Ende ausführen

Wenn die Seite beim Betrachter angezeigt wird, sind üblicherweise schon alle php-Anweisungen abgearbeitet. Ich denke da bleibt höchstens die Möglichkeit über AJAX entsprechende Teile nachzureichen.

O.
 

Duddle

Posting-Frequenz: 14µHz

AW: PHP Befehl erst am Ende ausführen

Du könntest alles in einen packen und am Ende mit
PHP:
echo deineFunktion().$bufferInhalt;
ausgeben.


Duddle
 

d3mueller

PC-Freak :D

AW: PHP Befehl erst am Ende ausführen

Hi,

Das Skript am Anfang soll im Prinzip nur Daten aus der Datenbank auslesen, die aber eben weiter unten noch verändert werden.

Andersherum geht es in dem Fall leider nicht, sonst würde ich das machen. :)

Buffer klingt kompliziert, muss ich mich mal reinlesen, danke :D
 

d3mueller

PC-Freak :D

AW: PHP Befehl erst am Ende ausführen

Ich habe in der Datenbank eine Spalte "Test" mit dem Wert "1"

am Anfang der Seite (ganz oben) Soll dieser Wert aus der Datenbank geholt und ausgegeben werden.

Aber in der Mitte der Seite (nach dieser Ausgabe ganz am Anfang) wird dieser Wert umgeändert in "2".

Jetzt steht aber oben im Browser trotzdem noch "1", weil der Wert vorher ja nicht geändert wurde
 

lachender_engel

Aktives Mitglied

AW: PHP Befehl erst am Ende ausführen

Hi,

Das Skript am Anfang soll im Prinzip nur Daten aus der Datenbank auslesen, die aber eben weiter unten noch verändert werden.

Ziemlich verworren, was Du da schreibst. Ich verstehe es so, dass Du am Anfang der PHP-Seite Datena us der DB ließt, dann HTML-Code ausgibst und am Ende des Skriptes über PHP die Daten änderst?! So geht das natürlich. Die Frage ist, wo willst Du die Daten ausgeben? Willst Du die ausgelesenen oder geänderten Daten anzeigen? Oder Beides?

Du musst weniger verschlüsselt reden sondern klar formulieren was Du machen willst. Sonst ist das Helfen unmöglich.
 

lachender_engel

Aktives Mitglied

AW: PHP Befehl erst am Ende ausführen

Ich habe in der Datenbank eine Spalte "Test" mit dem Wert "1"

am Anfang der Seite (ganz oben) Soll dieser Wert aus der Datenbank geholt und ausgegeben werden.

Aber in der Mitte der Seite (nach dieser Ausgabe ganz am Anfang) wird dieser Wert umgeändert in "2".

Jetzt steht aber oben im Browser trotzdem noch "1", weil der Wert vorher ja nicht geändert wurde

Du gehst das falsch ran.
Der Weg ist dieser:
1.) Du liest die Infos aus der Datenbank und speicherst sie in eine Variable.
2.) Du änderst die Variable wie Du möchtest.
3.) Du erstellst Deinen HTML-Code und gibst in diesem die Variable aus.
Anders geht das nicht!
Du kannst nicht. Du kannst Deinen Code erst generieren, wenn Du alle Daten hast.
Anders macht das auch kein Sinn, da schlussendlich der Betrachter eh nur die feritge HTML-Seite zu sehen bekommt. Danach wird kein PHP-Skript mehr ausgeführt. Weil die Seite eben fertig ist.
 

d3mueller

PC-Freak :D

AW: PHP Befehl erst am Ende ausführen

Ziemlich verworren, was Du da schreibst. Ich verstehe es so, dass Du am Anfang der PHP-Seite Datena us der DB ließt, dann HTML-Code ausgibst und am Ende des Skriptes über PHP die Daten änderst?! So geht das natürlich. Die Frage ist, wo willst Du die Daten ausgeben? Willst Du die ausgelesenen oder geänderten Daten anzeigen? Oder Beides?

Du musst weniger verschlüsselt reden sondern klar formulieren was Du machen willst. Sonst ist das Helfen unmöglich.

Du hast es doch verstanden ;) Ich wüsste nicht, wie man das noch trivialer formulieren kann :)


Das Problem ist, dass es in dem Fall nicht geht, weil es viel zu viele Abfragen aus der Datenbank sind. Außerdem will ich, dass er eben nur das macht, was er gerade braucht, nicht alles. Und das geht in diesem Fall leider nicht :(


Ich weiß, dass PHP nach dem Laden nichts mehr macht. Meine Frage ist ja nur, ob man eben einen Befehl oder ein Skript erst am Ende des Ladens (kurz bevor er fertig ist und PHP "aufhört" zu laufen) ausführt. also irgendwie, dass er dieses Skript im Hintergrund beibehält und es dann als letztes noch ausführt, bevor die Seite fertig geladen hat.
 

lachender_engel

Aktives Mitglied

AW: PHP Befehl erst am Ende ausführen

Ich weiß, dass PHP nach dem Laden nichts mehr macht. Meine Frage ist ja nur, ob man eben einen Befehl oder ein Skript erst am Ende des Ladens (kurz bevor er fertig ist und PHP "aufhört" zu laufen) ausführt. also irgendwie, dass er dieses Skript im Hintergrund beibehält und es dann als letztes noch ausführt, bevor die Seite fertig geladen hat.
WelcheNS inn soll das machen? Schlussendlich ist die Seite erst fertig, wenn ALLES abgearbeitet wurde. Es ist egal an welcher Stelle Du ein Skript ausführst. Der Server schickt die fertige HTML-Seite erst dann zum Browser, wenn ALLES abgearbeitet ist.
Wenn Du willst, dass "ein Skript erst am Ende des Ladens (kurz bevor er fertig ist und PHP "aufhört" zu laufen)" ausgefhört wird, dann positionierst Du es ans Ende.Aber, wie gesagt, ob am Anfang oder am Ende: Die gesamte PHP-Datei wird vom Server durchlaufen, bevor etwas zum Browser kommt.
 

mwxx

Nicht mehr ganz neu hier

AW: PHP Befehl erst am Ende ausführen

Ich würde die Daten aus der DB aus-, dabei in ein Array einlesen, dann hast Du bei der HTML-Zusammensetzung alle Freiheitem der (PHP-)Welt, um Deine Arraydaten beliebig zu verwerten, zu berechnen, einzusetzen etc.
Willst Du zwischendrin was einsetzen, so speicherst Du die HTML-Teile vor und nach der Ersetzungsstelle in eigenen Variablen (z.B. $h1 und $h2), berechnest dann den einzusetzenden Wert (z.B. $w) und konkatenierst am Ende den Ausgabestring: $h1.$w.$h2
 

JPS

Nicht mehr ganz neu hier

AW: PHP Befehl erst am Ende ausführen

@lachender_engel --> Natürlich ist es mit JQuery lösbar und es ist auch ein guter Ansatz.
Man löst eine JS-Funktion aus, die ein AJAX Request macht und von einer PHP Datei die Werte zurück bekommt (z.b. JSON Array), die sich dann verwenden lassen.
 

afr0kalypse

Allwissendes Karmameerschweinchen!

Der Ansatz mit jQuery ist nicht gut sondern nur mittel. Weil jQuery ein javascript-framework ist und er für sein Anliegen höchstens 10 Zeilen Code benötigt. Generell funktioniert das mit Ajax (Asynchronous JavaScript and XML). Dafür braucht man kein jquery oder mootools oder sonstwas.
Es wurde ja schon gesagt, dass javascript clientseitig also direkt beim Endnutzer im Browser- und php Serverseitig ausgeführt wird. nen Ajax Request bietet dir nur die Möglichkeit Clientseitig Daten zu ändern und bei Bedarf an den Server zu übermitteln ohne dabei den kompletten Website-Inhalt zu übermitteln.
 

lustig

Helper

Es ging nicht um das speichern und wieder auslesen eines Wertes, sondern nur um das Anzeigen eines im Formular geänderten Wertes (so habe ich das verstanden) und das klappt gut mit jQuery.
 

afr0kalypse

Allwissendes Karmameerschweinchen!

@d3mueller: vielleicht brauchen wir mal ein konkreteres beispiel.
so wie du es erklärst würde ich folgendes machen:
  1. Daten aus Tabelle Test via php holen.
  2. Daten im Browser anzeigen
  3. (jetzt willst du Daten ändern aber noch nicht speichern, so habe ich das verstanden
    und dafür benutzt man im Browser normalerweise Formulare oder wie willst du das machen?)
    in nem Formular ne Textbox erstellen und dort mit onchange Event arbeiten.
Angenommen du schreibst deinen Wert 'oben' in einen h1 Tag:
HTML:
<!-- dein Wert aus der Tabelle -->
<h1>1</h1>
<input type="text" onchange="change(this.value)" />

<script type="text/javascript">
function change(val) { 
    document.getElementsByTagName('h1')[0].innerHTML = val; 
}
</script>
Das sind 3 Zeilen javascript. dafür installiere ich mir doch kein jquery... das ist viel zu Ressourcenfressend für so wenig Aufwand

Der Kram wird dann natürlich per submit Button an dein PHP Script gesendet. Somit nutzt du php erst 'am Ende'
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben