kostenloser Webspace werbefrei: lima-city


MYSQL ausgabe aktuell halten

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Tach hab mal wieder ein kleines Problem mit meiner MYSQL ref="/tag/abfrage">abfrage bzw. allgemein mit meinem MYSQL :P

    Undzwar hätte ich gerne das eine MYSQL abfrage in meinem PHP Script automatisch alle 5-10 Sekunden reloaded wird (Veränderbar halt auch ne sekunde oda so) so das man die Seite also nicht aktuallisieren muss wenn man den aktuellen Wert haben möchte.

    Das Script was dieses benötigt wäre dieses:
    $onlinehorde_querry = "SELECT count(*) as count FROM `characters` WHERE `race` in (2,5,6,8,10) AND `online`='1'";
    $onlinehorde_result = mysql_query($onlinehorde_querry);
    $onlinehorde = mysql_fetch_object($onlinehorde_result)->count;


    Ich hoffe da kann mir jemand helfen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    eine wirklich elegante Lösung hab ich nicht, aber vielleicht hilft dir erstmal das weiter.

    Es gibt über HTML die Möklichkeit nach einer bestimmten Zeit auf eine andere Seite weiter zu leiten.
    Das sieht dann etwa so aus:

    <meta http-equiv="refresh" content="3; URL=http://jwolff.lima-city.de/">


    Wenn man auf diese weiße auf die gleich Seite verweißt, sollte sie sich aller 3 Sekunden (content="3; ) aktualisieren.


    Wenn es noch andere Lösungen gibt, würden die mich auch interessieren.
  4. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Na die mit dem META Tag ist mir selbst bekannt dennoch danke :)

    Ich brauche halt eine etwas spezifischere Reload funktion in MySQL wo ich dann bestimmte Querys immer wieder abfrage, alle Query abfragen im Script ständig neuzuladen wäre etwas zu happig o_O
  5. hi

    du kannst dem server unnötiges masakrieren ersparen:

    1. du packst deine abfrage in eine eigene php datei.

    2. schreibst eine andere php datei, die per POST die ausgabe ausliest und in die eigene inhalt schreibt. (in diesem fall macht der besucher die abfrage ob er es will oder nicht.)

    3. alternativ kannst mit javascript die abfrage machen (kein ajax brauchst dazu), so dass nicht die ganze seite, sondern nur die inhalte der abfrage geladen und ein container (<p></p> oder sonstwas) geschrieben werden.



    wenn due einen ausgefuxten grund hast automatisch und regelmässig abzudaten (also den server zu masakrieren), dann muss du cronjob noch hinzu nehmen.


    ==== edit
    @jwolff
    wo ich dann bestimmte Querys immer wieder abfrage
    und genau das kannst so mit POST richtig schön steuern. wegen ladehemmung bei lima schreibe ich das ganze hierher. die adressen gelten natürlich einen schmarrn (ich habe das ding mal hier gepostet).


    da ist der 'quasi' client:
    <?php
    /**
     *  sendet post daten und gibt das ergebnis aus
     */
    
    $host    = "czibere.lima-city.de";
    $path    = "/_forum/programtools/target.php";
    $referer = "http://czibere.lima-city.de/_forum/programtools/target.php?";
    $data    = "postvar=da%20ist%20post%20gekommen%20:o)";
    
    echo ("<p>los geht's</p><hr />");
    echo "<h3>antwort vom host:</h3>".$x = PostToHost ( $host, $path, $referer, $data);
    
    echo "<div style=\"background-color:#eee;\">";
    highlight_file (__FILE__);
    echo "</div><p>&nbsp;</p><br />";
    echo "<div style=\"background-color:#ccc;\">";
    highlight_file ("./target.php");
    echo "</div>";
    
    exit;
    function PostToHost ($host, $path, $referer, $data) {
      $fp = fsockopen ($host, 80);
      echo ("<p>geoeffnet</p>");
    
      fputs ($fp, "POST $path HTTP/1.1\r\n");
      fputs ($fp, "Host: $host\r\n");
      fputs ($fp, "Referer: $referer\r\n");
      fputs ($fp, "Content-type: application/x-www-form-urlencoded\r\n");
      fputs ($fp, "Content-length: ". strlen ($data) ."\r\n");
      fputs ($fp, "Connection: close\r\n\r\n");
      fputs ($fp, $data);
      echo ("<p>gesendet</p>");
    
      while ( !feof ($fp) ) {
        $res .= fgets ($fp, 128);
      }
      echo ("<p>getan</p><hr />");
    
      fclose ($fp);
    
      return $res;
    }
    
    ?>


    und in so eine quasi 'server' kannst deine queries reinschreiben:
    <?php
    /**
     *  empfaengt post daten und entsprechend reagiert
     */
    echo "<h1>ich bin der 'post-empfaenger'</h1>";
    echo "<h3>".__FILE__."</h3>";
    echo "<div style=\"background-color:#fcc;\"><pre><strong>\$_POST:</strong>\n".print_r ($_POST,true)."</pre></div>";
    
    ?>



    Beitrag zuletzt geändert: 1.3.2010 11:26:41 von czibere
  6. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    edit:/

    Ok Post kapier ich nicht so ganz da muss ich mich mal reinlesen auf jedenfall danke ^^

    Beitrag zuletzt geändert: 1.3.2010 11:27:43 von jwolff
  7. ich habe meins gerade editiert. lies nochmals. er ladet keine ganze seite, wenns nicht nötig. nur die ausgabe von der query. (das must du aber natürlich noch hinzuprogen)

    Beitrag zuletzt geändert: 1.3.2010 11:29:22 von czibere
  8. Hi, ich hab dir auch eine Möglichkeit gebastelt mit Ajax.

    Deine Standardseite
    <html>
    <head>
    <script type="text/javascript" src="ajax.js"></script>
    </head>
    <body onload="AJAX('aktuell','ajax_2.php');">
    <strong>Aktualisierung</strong>
    <div id="aktuell"></div>
    </body>
    </html>



    Die php-Seite mit der Abfrage (ajax_2.php)
    <?php
    $verbindung = mysql_connect ("localhost","root", "")or die ("keine Verbindung möglich. Benutzername oder Passwort sind falsch");
    
    mysql_select_db("test")or die ("Die Datenbank existiert nicht.");
    
    $abfrage = "SELECT * FROM ajax";
    $ergebnis = mysql_query($abfrage);
    while($row = mysql_fetch_object($ergebnis))
       {
       echo "$row->eins   -  $row->zwei <br/>";
       }
       mysql_close($verbindung);
    ?>






    Die Ajaxdatei, einfach genauso übernehmen und in einen geeigneten Ordner speichern: ajax.js
    Die 10000 bedeutedt, dass alle 10 Sekunden aktualisiert wird. ajax_2.php --> die Datei mit der abfrage
    var element_ID;
    var xmlHttp
    function AJAX(elementID , link)
    { element_ID = elementID;
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
     {
     alert ("Browser does not support HTTP Request")
     return
     }
    var url=""+ link +"?sid="+Math.random()
    xmlHttp.onreadystatechange=stateChanged 
    xmlHttp.open("GET",url,true)
    xmlHttp.send(null)
    window.setTimeout("AJAX('aktuell','ajax_2.php')",10000);
    }
    function stateChanged() 
    { 
    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
     { 
     document.getElementById(element_ID).innerHTML=xmlHttp.responseText 
     } 
    }
    function GetXmlHttpObject()
    {
    var xmlHttp=null;
    try
     {
     // Firefox, Opera 8.0+, Safari
     xmlHttp=new XMLHttpRequest();
     }
    catch (e)
     {
     //Internet Explorer
     try
      {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      }
     catch (e)
      {
      xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
     }
    return xmlHttp;
    }



    Hoffe es hilft dir :thumb:
  9. Autor dieses Themas

    jwolff

    Kostenloser Webspace von jwolff, auf Homepage erstellen warten

    jwolff hat kostenlosen Webspace.

    Ohja genau das hab ich gesucht ich könnt dich glatt abknutschen so bin ich davon begeistert xD

    Edit:/

    Kann ich auch mehrere solcher Abfragen reinhauen ?

    window.setTimeout("AJAX('aktuell','ajax_2.php')",10000);


    mit verschiedenen dateien ??
    Oder muss ich ständig ne neue Ajax.js machen ?

    Beitrag zuletzt geändert: 1.3.2010 12:34:00 von jwolff
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!