Paules-PC-Forum.de Anzeige:

Microsoft Windows Intune: PC-Verwaltung und -Sicherheit in der Cloud: Updateverwaltung, Anti-Virus und vieles mehr!


Zurück   Paules-PC-Forum.de > Programmierung > PHP/MySQL

PHP/MySQL Alles rund um die Programmiersprache PHP sowie MySQL.

EM-Tippspiel

Paule bei Facebook


Paule bei Twitter


Letzte Forenthemen
Gehe zum ersten neuen Beitrag PPF - Spiel "Wörter weiter...
Aufrufe: 26895, Antworten: 4218
Gehe zum ersten neuen Beitrag Algorithmen Teil IV...
Aufrufe: 3323, Antworten: 122
Gehe zum ersten neuen Beitrag Von Live CD Windowspfad...
Aufrufe: 302, Antworten: 19
Gehe zum ersten neuen Beitrag Bundesliga-Tippspiel Saision...
Aufrufe: 7639, Antworten: 185
Gehe zum ersten neuen Beitrag Captur 2.2 (Snow Leo)
Aufrufe: 19, Antworten: 0
Gehe zum ersten neuen Beitrag Captur 2.3 (Lion)
Aufrufe: 21, Antworten: 0
Gehe zum ersten neuen Beitrag Acer Aspire 8745ZG fährt...
Aufrufe: 55, Antworten: 6
Gehe zum ersten neuen Beitrag Rechner fährt herunter,...
Aufrufe: 144, Antworten: 9
Gehe zum ersten neuen Beitrag avs4you_com Lizenz oder Abo?
Aufrufe: 69, Antworten: 4
Gehe zum ersten neuen Beitrag PPF - Shoppingwahn
Aufrufe: 50941, Antworten: 1395
Zeige:





Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 15.03.2008, 00:24   #1 (Direktlink)
JPP
Weiß worum´s geht
 
Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
Standard Datenbankabfrage aktualisieren

Hallo,

Ich habe mir ein "PM-System" zusammen geschrieben.
Nun möchte ich, dass immer überprüft wird, ob neue Nachrichten angekommen sind.
Bisher funktioniert das ja nur, wenn ich einen Link tätige und damit auf eine andere Seite komme. Geht das nicht auch automatisch? Wenn ja, wie?
Ich habe es mit Meta-Tags versucht. Die Seite hat also alle 30sek neu geladen.
Leider passiert dann das Problem, dass die gewisse Seite nicht mehr angezeigt wird (nach ca. 3 Minuten). Warum, weiß ich nicht.

Gibt es da eine andere Möglichkeit? PHP? JavaScript?
__________________
Treffen sich 2, einer kommt nicht
JPP ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 15.03.2008, 08:26   #2 (Direktlink)
Super-Moderator
 
Benutzerbild von Freaky
 
Registriert seit: 30.12.2002
Ort: Stuttgarter Kreis
Beiträge: 11.722
Standard

Nein da gibt es keine Alternative. Auch in Foren geschieht die Abfrage nach neuen Nachrichten erst beim Klick auf einen Link.
__________________
Freaky ist offline   Mit Zitat antworten
Alt 15.03.2008, 11:45   #3 (Direktlink)
JPP
Weiß worum´s geht
 
Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
Standard

Ja,
Dessen war ich mir bewusst.
Könnte ja sein, dass es mit JavaScript geht, da es ja ebenfalls Uhrenscripts gibt, die mit JavaScript arbeiten.


Aber wenn das nicht geht, dann muss ich das wohl so lassen :/

Danke.
__________________
Treffen sich 2, einer kommt nicht
JPP ist offline   Mit Zitat antworten
Alt 15.03.2008, 12:49   #4 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Genesis
 
Registriert seit: 18.07.2004
Ort: Schwabenländle
Beiträge: 922
Standard

Du kannst mit AJAX auch alle X Sekunden nur eine Div-Box der Seite aktuallsieren, dann muss nicht die gesamte Seite aktualisiert werden. So sparst du dir zumindest den Aufwand, die Seite komplett neu zu laden, was Traffic spart.

Im HTTP-Protokoll ist nicht vorgesehen, dass der Server einem Client selbstätig Daten sendet, die Aktionen gehen immer vom Client aus.
Genesis ist offline   Mit Zitat antworten
Alt 15.03.2008, 12:56   #5 (Direktlink)
JPP
Weiß worum´s geht
 
Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
Standard

Das hört sich interessant an.
Wie funktioniert das denn?
Habe diesen Begriff leider bisher nie gehört.
Hättest du evtl. ein Beispiel, wie das aussieht, dass ich eine div-Box alle 30 Sekunden z.B. aktualisiere? Oder alle 60... Das ist ja aber irrelevant..
__________________
Treffen sich 2, einer kommt nicht
JPP ist offline   Mit Zitat antworten
Werbung

Windows 7 Tipps und Tricks in Bildern

Alt 15.03.2008, 14:35   #6 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Genesis
 
Registriert seit: 18.07.2004
Ort: Schwabenländle
Beiträge: 922
Standard

Okay, here we go:

AJAX.html

Code:
<html>

<head>
  <title>AJAX Refresh-Beispiel</title>
</head>

<body onload="RefreshDiv()">

<script type="text/javascript">

var xmlHttp = GetAJAX(); // AJAX-Objekt ermitteln

function RefreshDiv() { // Wird vom Body aus aufgerufen
  // Funktion, die beim Statuswechsel aufgerufen wird heißt AJAX
  xmlHttp.onreadystatechange = AJAX;
  // Aufzurufende Webseite
  xmlHttp.open("GET", "toload.php", true);
  // HTTP-Request absenden
  xmlHttp.send();
}

function AJAX()
{
  if(xmlHttp.readyState == 4) // Daten kommen
  {
    var response = xmlHttp.responseText; // Antwort
    // Div-Box by ID ermitteln und Text hineinschreiben
    document.getElementById('Status').innerHTML = response;
    // Die AJAX-Funktion nochmals in einer Sekunde ausführen
    setTimeout("RefreshDiv()", 1000);
  }
}

function GetAJAX() {
  var xmlHttp;
  try {
    // Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  }
  catch (e) {
    // Internet Explorer
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch (e) {
      try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e) { }
    }
  }
  return xmlHttp;
}
</script>

<div id="Status"></div>

</body>

</html>
Diese Datei fordert jede Sekunde die Datei toload.php an, die zum Testen bei mir diesen Inhalt hatte:

toload.php:

Code:
<?php
  echo "Sie haben " . rand(1, 100) . " neue Nachrichten.";
?>
Wenn du bisschen mit AJAX arbeiten willst, empfehle ich dir das Firefox-Addon "Firebug", das ist wirklich genial zum debuggen geeignet.

Grüße
Genesis
Genesis ist offline   Mit Zitat antworten
Alt 15.03.2008, 14:39   #7 (Direktlink)
JPP
Weiß worum´s geht
 
Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
Standard

Danke Dir
__________________
Treffen sich 2, einer kommt nicht
JPP ist offline   Mit Zitat antworten
Alt 15.03.2008, 14:40   #8 (Direktlink)
Forenmaskottchen
 
Benutzerbild von Genesis
 
Registriert seit: 18.07.2004
Ort: Schwabenländle
Beiträge: 922
Standard

Wichtig noch: das Ganze geht nur auf einem Webserver, weil die ajax.html ein HTTP-Request an einen Webserver sendet. D.h. du kannst das nicht roh alleine durch öffnen der ajax.html vom Desktop aus testen.
Genesis ist offline   Mit Zitat antworten
Alt 15.03.2008, 14:42   #9 (Direktlink)
JPP
Weiß worum´s geht
 
Registriert seit: 09.04.2006
Ort: Rodgau
Beiträge: 200
Standard

Ich habe ja sowieso einen Apacheserver emuliert. (xampp)
Von daher sollte es ja erstmal kein Problem sein.

Später wandert das ja eh auf den Webspace.
__________________
Treffen sich 2, einer kommt nicht
JPP ist offline   Mit Zitat antworten
Antwort

  Paules-PC-Forum.de > Programmierung > PHP/MySQL

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an




Alle Zeitangaben in WEZ +2. Es ist jetzt 02:59 Uhr.


Powered by vBulletin® Version 3.8.7 (Deutsch)
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Powered by vBCMS® 2.7.0 ©2002 - 2012 vbdesigns.de
(c) Paules-PC-Forum.de

::: Impressum :::

Search Engine Optimization by vBSEO 3.3.2