ubuntuusers.de

PHP Time-out nginx

Status: Gelöst | Ubuntu-Version: Ubuntu 14.04 (Trusty Tahr)
Antworten |

aarwa

(Themenstarter)

Anmeldungsdatum:
4. September 2016

Beiträge: Zähle...

das Script soll aus der MySQL Datenbank laufend lesen ( solange der user dieses Prozedur aufruft, und die Veränderungen von dritten verursacht anzeigen.anzeigen.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13216

aarwa schrieb:

das Script soll aus der MySQL Datenbank laufend lesen ( solange der user dieses Prozedur aufruft, und die Veränderungen von dritten verursacht anzeigen.anzeigen.

Verstehe ich das richtig, die Idee ist, die Nutzer rufen eine URL auf und dann wird so lange neuer Inhalt auf der Seite generiert, wie der Nutzer die Seite nicht verlässt? Eine offensichtliche Lösung wäre, das mit einem AJAX-Request aus der Seite heraus zu machen, der alle X Sekunden nachschaut und neue Daten präsentiert.

Eine andere Variante würde einen WebSocket nutzen, was den Vorteil hätte, dass Du nicht ständig neue Verbindungen aufbauen willst und möglicherweise Deine Schleife auch weitgehend wiederverwenden kannst.

aarwa

(Themenstarter)

Anmeldungsdatum:
4. September 2016

Beiträge: 14

die prozedur soll beim starten durch einen user solange automatisch die DB auslesen bis er sich wieder abmeldet. d.h Veränderungen die dritte verursachen auf seinem bildschirm anzeigen.

aarwa

(Themenstarter)

Anmeldungsdatum:
4. September 2016

Beiträge: 14

mit ajax mache ich schon einen teil, der funktioniert auch. Ich weiss aber nicht wie ich mehere ergebnisse mit ajax zurückbekomme. wo kann ich dazu etwas finden? Danke für Deine hilfe!

aarwa

(Themenstarter)

Anmeldungsdatum:
4. September 2016

Beiträge: 14

ich rufe über javascript und ajax eine php prozedur auf (gebe 2 parameter mit). diese prozedur liest richtig 5 ergebnisee aus. wie bringe oich diese ergebnisse dann auf meinen bildschirm. ich habe bis ich 65 war, unix systeme betreut und mit verschiedenen Sprachen programmiert. jetzt bin ich nächstes jahr 80 und habe keine erfahrung mit ajax.

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13216

aarwa schrieb:

ich rufe über javascript und ajax eine php prozedur auf (gebe 2 parameter mit). diese prozedur liest richtig 5 ergebnisee aus. wie bringe oich diese ergebnisse dann auf meinen bildschirm.

Du generierst ein JSON-Dokument. Das geht auch in PHP und lässt sich im Browser mit JavaScript leicht verarbeiten.

ich habe bis ich 65 war, unix systeme betreut und mit verschiedenen Sprachen programmiert. jetzt bin ich nächstes jahr 80 und habe keine erfahrung mit ajax.

Na, aber das kann man ja lernen. ☺

aarwa

(Themenstarter)

Anmeldungsdatum:
4. September 2016

Beiträge: 14

das ist mir klar. Danke für den link. das Problem das ich habe, ist die Parameterübergabe und due Ergebnisrückgabe in definierte Felder in HTML zusammen mit eine interval frunction

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13216

aarwa schrieb:

das ist mir klar. Danke für den link. das Problem das ich habe, ist die Parameterübergabe und due Ergebnisrückgabe in definierte Felder in HTML zusammen mit eine interval frunction

Wenn Du das JSON-Dokument bekommst, dann musst Du es in JavaScript verarbeiten und die Inhalte auf die Seite schreiben. Die Seite http://www.w3schools.com/ hat recht gute Tutorials (z.B. zu JSON), die auch meist direkt auf Testseiten verlinken, auf denen man den Code ausprobieren kann. Zum Beispiel wird hier erklärt, wie man HTML-Inhalt auf die Seite bekommt.

aarwa

(Themenstarter)

Anmeldungsdatum:
4. September 2016

Beiträge: 14

Hallo und guten morgen, ich stelle in der aufgerufenen PHP prozedur folgenden String zusammen.

	echo '<br>Itemnum '. $_POST['itemnum'] . ' ' . '<br>Usernum' . $_POST['usernum'] . ' <br><h2><font color="green"> Restzeit, Tiempo restante, Time left : ' . $zeitstr . '</font><br><font color="black"> Höchstes Gebot : <font color="red">' . $userhighbid . ' Euro</font><br> Höchstbieter, Pujadores maxima, Highbidders :  ' . $highbidnam . '<br> 2.           :  ' . $highbidna1 . '<br>  3.           :  ' . $highbidna2 . '<br></h2>';

dieser wird von Javascript als "status" empfangen.

1
2
3
4
5
6
7
8
9
    hr.onreadystatechange = function() {
	    if(hr.readyState == 4 && hr.status == 200) {
		    var return_data = hr.responseText;
			document.getElementById("status").innerHTML = return_data;
	    }
    }
    // Send the data to PHP now... and wait for response to update the status div
    hr.send(vars); // Actually execute the request
    document.getElementById("status").innerHTML = "processing...";

und unter HTML so ausgegeben.

1
		<div id="status">	</div>

Wie kann ich das so ändern, dass die Felder in einer fgormatierten Ausgabe angezeigt werden, damit die Ausgabe mit einer setinterval Funktion nicht flackert? Armin

Bearbeitet von rklm:

Codeblöcke hinzugefügt. Bitte beachte Forum/Syntax!

Antworten |