PHP Inhalt mithilfe der DB steuern

lissylucky

Mitglied
Hallo,

ich möchte gerne je nachdem welcher Wert in einer Spalte in der DB steht den Inhalt der Website ändern.
Es soll ein stiller Refresh erfolgen und der regelmäßig (jede Sekunde).

Mein Problem ist, ich möchte gerne wenn in der Spalte (DB) eine 1 steht, ein Video abspielen lassen.
Doch dadurch, dass er mir nach jeder Sekunde refresht, fängt das Video immer nach ner Sekunde neu an.
Wie kann ich das verhindern, sodass er die Seite nur aktualisiert falls es eine Änderung in der DB gibt?

stillen Refresh hab ich folgendermaßen gemacht:
Javascript:
  <script type="text/javascript">
  $(document).ready(function() {
  $.ajaxSetup({ cache: false }); // This part addresses an IE bug.  without it, IE will only load the first number and will never refresh
  setInterval(function() {
  $('#refresh').load('load.php');
  }, 10000); // the "3000"
  });
  </script>
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

lade den externen Inhalt, prüfe, ob er anders ist, und lade ihn dann nur in das eigentliche DOM (HTML), wenn es eine Änderung gab.
 
Hi ComFreek,

meinst du ich mache 3 Dateien.
1 HTML,
1 PHP
2. PHP

Ich mach in der 2. PHP eine MYSQL Abfrage und vergleiche. Falls der abweicht was mache ich dann?
Hast du mir einen Codeschnipsel? Kann mir da gerade nicht vorstellen.

LG
 
Wieso drei Dateien?

Du machst das du z. B. so:
PHP:
$content = /* ... */; // Was bis jetzt load.php normalerweise ausgibt
$isNew = true/false; // Musst du eben prüfen, z. B. über $_SESSION zwischenspeichern

if ($isNew) {
  echo json_encode(['content' => $content, 'isNew' => true]);
}
else {
  echo json_encode(['isNew' => false]);
}

Es gibt viele Wege, auf jeden Fall muss aber das PHP-Skript prüfen, ob der Inhalt neu oder nicht neu ist. Alternativ könntest du das sogar auf der JS-Seite machen. Aber dann müsste das PHP-Skript in jedem Fall den alten Inhalt mitsenden und spart so nicht Bandbreite.
 
Zurück