Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Feld in Intervall aktualisierenq“

webcasi

Nicht mehr ganz neu hier

Hallo,
ich habe eine Tabelle mit 7 Spalten. Die letzte Spalte ist der Status zu jeder angezeigten Person.
Dieses Status möchte ich jetzt in einem Intervall von x Sekunden neu laden. Ich will NICHT die ganze Seite neu laden, um die Belastung durch SQL Abfragen an den Server geringer zu halten.
Interval und Javascript in Verbindung mit Jquery habe ich schon gefunden, aber nirgendwo wird sowas ähnliches wie eine Datenbankabfrage oder php Befehle abgesetzt werden und dann ein Feld neu mit Daten füllen.

Vielleicht stehe ich im Moment auf dem Schlauch, aber im Moment finde ich nichts was ich mir umbauen könnte.

Vielen Dank für Hinweise.
 

Myhar

Hat es drauf

Du kannst nicht per javascript eine SQL Abfrage ausführen, du musst dafür einen AJAX Request an den Server schicken welcher dann die Datenbankabfrage durchführt und dir das gewünschte Ergebnis liefert. Dieses Ergebnis musst du dann im AJAR Response auswerten.

Dein Stichwort für deine Anforderung und für weitere Recherchen ist AJAX. Du musst evenutell noch ein PHP Skript schreiben welches deinen AJAX Request verarbeitet. Auch solltest du darauf achten dass das abgesichert ist und nicht automatisiert mit Anfragen zugespammt werden kann.
 

webcasi

Nicht mehr ganz neu hier

Hallo
vielen Dank. Auf AJAX bin ich schon gekommen, aber ich habe so adhoc kein Beispiel gefunden, welches dann nicht unbedingt nur in Javascript rechnet, sondern eine PHP-Datei mit z.B. nur Select an eine Tabelle in einer Datenbank, aufruft und in ein <div> schreibt.
Ich habe auch schon einmal nach JSON gegoogelt.

Mein Entwicklungs- und auch der Produktivrechner stehen nicht im Internet, sondern laufen nur lokal im Netzwerk.
 

Myhar

Hat es drauf

ob die Rechner im Internet oder lokal stehen macht keinen Unterschied, ein Netzwerk funktioniert da und dort auf die selbe Art und Weise ;-)

Hier hast du ein Beispiel mit jquery Ajax, welches dir Daten an ein PHP Skript schickt. Das PHP Skript liefert dir in dem Beispiel dann einach die gesendeten Daten zurück, Du musst deine PHP Datei dann natürlich so anpassen dass er mithilfe der gesendeten Daten dann eine Datenbankabfrage abschickt und dann dieses Ergebnis zurückschicken.
https://stackoverflow.com/questions/5004233/jquery-ajax-post-example-with-php
Auch hier ein schon älteres Beispiel: http://blog.axxg.de/einfuehrung-ajax-quickstart/

Suchst du nach ajax example php (oder ähnliche Stichwörter) findest du genügend Beispiele.
 

webcasi

Nicht mehr ganz neu hier

Hallo Myhar,

vielen Dank. Aber mittlerweile muss ich noch "weiter" denken. Ich habe von 188 angezeigten Datensätzen ca. 120 Datensätze die ständig ihren Status prüfen müssten. Ich habe ja ein komplettes Reload vorgeschlagen, aber das ist nicht erwünscht. Dann hat man alle x Sekunden einmal das komplette Dataset abgefragt, aber so soll es nicht sein.
Ich muss irgendwie einen "Trigger" schaffen, der die Datensätze in eine neue Tabelle einträgt, wenn Sie sich ändern. Dann müsste ich nur dort abfragen für welche Zeilen es ein Update gibt.

Gruß
webcasi
 

webcasi

Nicht mehr ganz neu hier

Hallo Myhar,
ich hätte gerne den ersten Link und die dazugehörigen Dateien mal heruntergeladen. Da steht auch "Download" aber leider ist kein Link oder eine Demo dabei.
Ich weiß daher nicht so genau welche Dateien ich mit welchem Code/Javascript anlegen muss. Denke ich da zu kompliziert?
Gruß
webcasi
 

Myhar

Hat es drauf

Was meinst du mit erstem Link, meinst du damit stackoverflow? Stackoverflow ist eine Seite wo Leute Lösungen zu Problemen posten, in der Regel ohne irgendwelche downloads sondern direkt mit einer Antwort + Erklärung.

Ich denke du denkst hier da aber einfach zu kompliziert.
Zuerst brauchst du jquery wenn du die von mir verlinkten Beispiele nachstellen willst. Du kannst ajax requests natürlich auch ohne jquery absenden und verarbeiten, dann musst du aber die Syntax entsprechend anpassen. (hier auch mal ein schnell gefundener Beitrag der beides behandelt, jquery und normales js: https://blog.garstasio.com/you-dont-need-jquery/ajax/ )

Du musst zuerst ein JS erstellen welches die Daten an dein PHP Skript schickt. Dieses PHP Skript führt dann anhand der per JS geschickten Daten eine Abfrage der Tabelle aus und liefert die geänderten Daten zurück.

Wenn du genaue Probleme hast dann erläutere diese doch damit man gezielter helfen kann.
 

webcasi

Nicht mehr ganz neu hier

Hallo,
wie bekomme ich denn einen Intervall da hinein. Die Testscripte habe ich noch nicht so ganz zum Laufen bekommen. Ich bin da aber blutiger Anfänger. Wo muss ich denn jetzt das Ganze einfügen, das meine Seite z.B. mit (habe ich gefunden)
Code:
setInterval(function() {
    alert("hi");
}, 30000);

dann eine PHP-Seite wieder lädt und sich einen Status zurückholt.
 

Myhar

Hat es drauf

Indem du statt alert deine Funktion ausführst:

Code:
setInterval(function() {
webcasisSuperTolleGeheimeFunktion();
// du kannst natürlich auch alles gleich hierhin schreiben wenn du keine eigene Funktion haben willst.
}, 3000);

function webcasisSuperTolleGeheimeFunktion() {
  console.log("das ist geheim");
  // hier weitere Zeilen hineinschreiben.
}

Beispiele wie du einen Ajax Request absendest habe ich dir verlinkt, aber du solltest bedenken: Die Antwort deines PHP Skriptes wird nicht in 0ms erfolgen sondern seine Zeit brauchen, in der läuft der timer natürlich weiter.[/CODE]
 

webcasi

Nicht mehr ganz neu hier

Hallo,
ja ich meinte die Seite stackoverflow. Ich habe gerade versucht die oben verlinkten älteren Beispiele bei mir lokal zum Laufen zu bekommen, aber irgendwie klappt das nicht. Ich kann nicht glauben, dass es nicht irgendwo ein reines Beispiel gibt, wo dann eine html Seite ist, darin ist das jquery verlinkt und die JS Funktionen und dann eine ...php Datei die im JS aufgerufen wird mit einer simplen Abfrage an eine Datenbank.
Die Jquery Beispiele auf https://jqueryui.com/demos/ machen so was auch alle nicht.
 

Myhar

Hat es drauf

Das zweite von mir verlinkte Beispiel hat genau das was du forderst: Es ist ein reines Beispiel wo es eine HTML Seite gibt in der jQuery eingebunden ist und wo eine PHP Datei per Klick auf einen Button aufgerufen wird. In der PHP Datei dort wird lediglich ein einfaches JSON zurückgegeben aber es sollte doch nicht schwer zu sein hier deine eigene Datenbankabfrage einzubauen da du ja ohnehin weißt, was du abfragen musst.
Übrigens: jqueryui ist nicht jquery, es baut lediglich auf jquery auf. Dort wirst du also auch keine Beispiele zu der interaktion mit PHP finden, darum geht es bei jqueryui nämlich nicht.
Wenn du konkrete Fragen hast dann poste die doch bitte, mehr als dir konkrete Beispiele zu suchen kann ich so auch nicht machen.
 

webcasi

Nicht mehr ganz neu hier

Ich habe mir jetzt so etwas gebaut, und im Hintergrund macht die PHP Seite eine Abfrage.
Jetzt brauche ich für die Abfrage noch ein SQL was ich per $_GET übergeben möchte an die PHP Datei.
Diese soll das dann auslesen und z.B. Select name from testtabelle where id=.....
Diese ID habe ich zur Verfügung und es erspart mir weiteres PHP erst alle Dateien in ein Array zu fetchen und dann das Array wieder abzufragen.
 

Myhar

Hat es drauf

Und wo ist deine konkrete Frage? Ich habe dir ja schon Beispiele verlinkt wo ein Wert an die PHP Datei übergeben wird, Wird der Wert nicht übergeben? Oder funktioniert alles wie gewünscht?
 

webcasi

Nicht mehr ganz neu hier

Hallo Myhar,
ich habe jetzt aus Deinen Links und weiteren Codebeispielen ein Skript entwickelt, welches eine PHP Datei aufruft, die nach der in der URL der PHP Datei übergebenen ID dann die Datenbank abfragt und einen Wert zurückgibt. Und mit setIntervall rufe ich diesen Vorgang dann alle x Sekunden auf. Das funktioniert jetzt, ich muss nur noch Kleinigkeiten anpassen.
Insofern habe ich keine Frage mehr. Vielen Dank.
 

Curanai

Aktives Mitglied

Hallo in die Runde, aber ich hätte da was zu nörgeln: Intervall bei AJAX-Abfragen.

Der Fachausdruck kann hier durchaus "race condition" werden - explizit dann, wenn man später aus einer lokalen in eine echte Umgebung zieht (und der Server mit ganz anderen Dingen noch beschäftigt ist).

Mein Tipp am Kaffeebecherrand:
- ein Request liefert Dir alle 120 Status-Updates, die dann per JavaScript in Dein DOM gepflegt werden
- der Request ruft sich immer wieder selbst (!) auf, nachdem eine Art "Abklingphase" (eine Pause) zwischen den Aufrufen erfolgt ist
- denke an ein Ergebnis aus dem Cache, wenn Du mit GET arbeitest (ein Math.random() kann hier für Variabilität sorgen in einem Parameter)

Warum nicht per Intervall? Simpel:
- ein temporärer Flaschenhals kann überall mal auftreten
- Abfrage auf die Datenbank dauert länger (heavy duty dort)
- Netzwerk lahmt, weil wer Pornos hoch- oder runterlädt usw. (bitte nicht bierernst nehmen)

Was passiert also auf Deiner Seite, wenn mal ein timeout auftritt oder die Datenbank "gone away" liefert?

Wünsche einen sonnigen Sonntag!
 
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

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.189
Beiträge
2.582.078
Mitglieder
67.258
Neuestes Mitglied
SaschMasch1312
Oben