kostenloser Webspace werbefrei: lima-city


Suche auf lima-city

  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    danke für deine antwort :)

    prinzipiell hast du da recht. Nur soll das ganze keine normale Internetseite sein, sondern ein Kundeninformationssystem in einem kleinen Intranet. Du musst Dir das so vorstellen, daß in einer Metzgerei hinter der Theke ein großer LCD-Fernseher hängt auf dem die Angebote etc angezeigt werden und durchlaufen. Hinten im Büro hockt ein DAU und klopft täglich neue Daten rein und löscht auch welche, wobei er wünscht, daß das dann automatisch abläuft. zumindest in einem intervall.

    ich bin die ganze zeit am basteln nur will es mir nicht recht gelingen.... regt mich langsam auf das ding aber interessant finde ich es trotzdem. hab ne menge gelernt :)

    Danke Dir!

    LG Stefan
  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    Hallo,

    jetzt bin ichs nochmal :P

    Also es funktioniert soweit absolut tadellos. Nur habe ich eines festgestellt. Da ja die Daten aus der MySQL zuvor in der index.php geladen werden, wird das Array aus allen zu dieser Zeit aktiven Datensätzen aus der Tabelle generiert.

    Wenn jetzt ein Datensatz hinzukommt (Admin-Bereich), wird dieser erst dann übernommen, wenn die index.php refresht wird :/

    Hab mich jetzt damit gespielt aber ich komm da nicht so wirklich drauf....

    Danke für Deine selbstlose Hilfe wollt ich Dir noch sagen :)

    LG Stefan
  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    Du bist ein Genie :)))

    Es funktioniert absolut, total und ohne Fehler :)

    VIELEN HERZLICHEN DANK! Wie kann ich das wieder gut machen?

    Viele Grüße
    Stefan
  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    Wow Du bist ja ein richtiger Künstler :)
    Von der Logik hab ich mir das in etwa so vorgestellt nur in der Umsetzung habts gehapert.

    Ich habe es jetzt ganz einfach gelöst mit viiiieeelll rumprobieren und googlen :)

    ich mach´s mit ner PHP-SESSION

    die index.php

    <?
    // Erzwingen das Session-Cookies benutzt werden und die SID nicht per URL transportiert wird
    ini_set( 'session.use_only_cookies', '0' );
    ini_set( 'session.use_trans_sid', '0' );
    
    // Session starten
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <script src="js/jquery-1.9.0.min.js" type="text/javascript"></script>
    <?
    
    require_once("includes/dbconf.php");
    dbConnect();
       
    ?>
    <script type="text/javascript">
    	 $(document).ready(function() {
    	   $("#refresh").load("refresh.php");
    	   var refresh = setInterval(function() {
    	      $("#refresh").load('refresh.php?' + 1*new Date());
    	   }, <? echo $_SESSION['timer']; ?>);
    	});
    	</script>


    und die refresh.php

    <?
    // Erzwingen das Session-Cookies benutzt werden und die SID nicht per URL transportiert wird
    ini_set( 'session.use_only_cookies', '0' );
    ini_set( 'session.use_trans_sid', '0' );
    
    // Session starten
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    </head>
    <body>
    <?
    require_once("includes/dbconf.php");
    dbConnect();
    
     /*if(!empty($_GET['id'])) {*/
    $run_id = mysql_real_escape_string($_GET['id']);
    
    $sql = "SELECT * FROM layer WHERE active='1' ORDER BY RAND() LIMIT 1"; //  WHERE id = '".$run_id."' LIMIT 1
    $result = mysql_query($sql);
    while($tdata = mysql_fetch_array($result)) {
    // --- usw. --- Ausgabe der Daten ---
    
    $_SESSION["timer"] = $tdata["time"]; 
    ...............


    bei jedem aufruf der refresh.php durch das Script wird ein neuer timer aus der tabelle und in die $_SESSION['timer'] Variable geladen.
    Der Wert wird innerhalb der Session an die index.php zurückgegeben und diesen gebe ich einfach mit echo an der stelle wo der timer stehen muss aus. Klappe zu Affe tot :D

    Vielleicht nicht die eleganteste Lösung aber es funktioniert :))))

    Aber vielen lieben herzlichen Dank für Deine Beiträge und Hilfsbereitschaft !

    Viele Grüße
    Stefan

  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    Hallo,

    MERCI!

    ich habe es jetzt so gemacht

    die refresh.php

    require_once("includes/dbconf.php");
    dbConnect();
    
     if(!empty($_GET['id'])) {
    $run_id = mysql_real_escape_string($_GET['id']);
    
    $sql = "SELECT * FROM layer WHERE id = '".$run_id."' LIMIT 1";
    $result = mysql_query($sql);
    $data = mysql_fetch_assoc($result);
    // --- usw. --- Ausgabe der Daten ---
    
    // Tabelle zu Testzwecken um zu prüfen dass ID-Wert übergeben wird
    $sql = "INSERT INTO test (nr, time) VALUES ('".$run_id."', '".$data2['time']."')";
    mysql_query($sql);
    // Ende Test
    ?>
    <!--<? if($data['direction'] == '1') { ?>-->
    <img id="picture" src="images/products/<? echo $data['picture']; ?>">
    
    <div id="title_big">
    <? echo $data['title']; ?>
    </div>
    <div id="title_sub">
    <? echo $data['subtitle']; ?>
    </div>
    <div id="weight">
    <? if($data['weight'] == '1') { $weight = "100g"; }
       elseif($data['weight'] == '2') { $weight = "1 kg"; }
       elseif($data['weight'] == '3') { $weight = "500g"; }
       elseif($data['weight'] == '4') { $weight = "&nbsp;Stück"; }
       else { $weight = ""; }
    echo $weight; ?>
    </div>
    <div id="price">
    <? echo $data['price']; ?>
    </div>
    <div id="price_kapit">
    <? echo $data['price_cent']; ?>
    </div>
    <? } ?>


    und die index.php

    require_once("includes/dbconf.php");
    dbConnect();
    
    $sql2 = "SELECT id,time FROM layer WHERE active='1' ORDER BY RAND() LIMIT 1";
       $result2 = mysql_query($sql2);
       $data2 = mysql_fetch_assoc($result2);
     
    $jquery_code = "<script type=\"text/javascript\">
         $(document).ready(function() {
          
           $(\"#refresh\").load(\"refresh.php?id=".$data2['id']."&ms=\" + new Date().getTime());
           var refresh = setInterval(function() {
              $(\"#refresh\").load(\"refresh.php?id=".$data2['id']."&ms=\" + new Date().getTime());
           }, ".$data2['time'].");
        });
    </script>";
     
    echo $jquery_code;


    jetzt zeigt er mir einen random-datensatz an (http://kis.schlesische-bratwurst.de). Ich kann in der Test-Tabelle auch sehen, dass er diesen auch refresht. Nur leider immer die gleiche ID und zur selben Zeit. Nur wenn ich die gesamte Seite reloade wird eine neue random-ID und die zugehörige Zeit gelesen und ausgegeben. Ich weiß leider wirklich nicht mehr weiter....das muss doch zu schaffen sein....

    Meine Idee ist, in der Index.php (die ja statisch bleibt), einen Zeiger mittels Javascript zu setzen, der nach ablauf des geholten Timers die Jquery-Sequenz neu lädt und somit eine neue id und neuen timer hat. nur wie ich das umsetze hab ich leider keine ahnung. lieg ich da richtig?

    Hast du noch ne idee? kann dir gerne mal ftp-zugriff geben zum verzeichnis wenn du so viel lust hast und dir das antun möchtest :)

    Danke nochmal. LG Stefan
  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    Hmmm,

    jetzt brauch ich doch nochmal Hilfe... lokal hat es zunächst funktioniert. Hatte OmniHttpd als Server laufen. Mit Apache und nach dem Upload läuft leider nix mehr...

    Ich glaub ich mach mit dem Array etwas falsch bzw ich sollte evtl das nicht in einer While-Schleife lösen??

    Hier die Index.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    <script src="js/jquery-1.9.0.min.js" type="text/javascript"></script>
    <?
    require_once("includes/dbconf.php");
    dbConnect();
       $msql = "SELECT * FROM config WHERE id='1'";
       $mresult = mysql_query($msql);
       $mtime = mysql_fetch_assoc($mresult);
    ?>
    <!--<script type="text/javascript">
    	 $(document).ready(function() {
    	   $("#refresh").load("refresh.php");
    	   var refresh = setInterval(function() {
    	      $("#refresh").load('refresh.php?' + 1*new Date());
    	   }, <? echo $mtime['microtime']; ?>);
    	});
    	</script>
    -->
    <?
    $sql2 = "SELECT * FROM layer WHERE active='1' ORDER BY RAND()";
       $result2 = mysql_query($sql2);
       while($data2 = mysql_fetch_array($result2)) {
    ?>
    <?
    $jquery_code = "<script type=\"text/javascript\">
         $(document).ready(function() {
           $(\"#refresh\").load(\"refresh.php?id=<? echo $data2[id]\ ?>\");
           var refresh = setInterval(function() {
              $(\"#refresh\").load(\'refresh.php?id=' + <? echo $data2[id]; ?> + '&ms=\' + new Date().getTime());
           }, \".<? echo $data2[time] ?>.\");
        });
    </script>";
    
    } echo $jquery_code;  ?>
    
    
    </head>
    <div id="refresh" style="text-align:center;"></div>


    und die refresh.php

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
    </head>
    <?
    require_once("includes/dbconf.php");
    dbConnect();
        
     if (!empty($_GET['id'])) {
    $run_id = mysql_real_escape_string($_GET['id']);
     
    $sql = "SELECT * FROM layer WHERE id = '".$run_id."' LIMIT 1";
    $result = mysql_query($sql);
    $data = mysql_fetch_assoc($result); 
    // --- usw. --- Ausgabe der Daten ---
    
    // Tabelle zu Testzwecken um zu prüfen dass ID-Wert übergeben wird
    $sql = "INSERT INTO test (nr, time) VALUES ('".$run_id."', '".$data2['time']."')";
    mysql_query($sql);
    // Ende Test
    ?>
    <!--<? if($data['direction'] == '1') { ?>-->
    <img id="picture" src="images/products/<? echo $data['picture']; ?>">
    
    <div id="title_big">
    <? echo $data['title']; ?>
    </div>
    <div id="title_sub">
    <? echo $data['subtitle']; ?>
    </div>
    <div id="weight">
    <? if($data['weight'] == '1') { $weight = "100g"; }
       elseif($data['weight'] == '2') { $weight = "1 kg"; }
       elseif($data['weight'] == '3') { $weight = "500g"; }
       elseif($data['weight'] == '4') { $weight = "&nbsp;Stück"; }
       else { $weight = ""; }
    echo $weight; ?>
    </div>
    <div id="price">
    <? echo $data['price']; ?>
    </div>
    <div id="price_kapit">
    <? echo $data['price_cent']; ?>
    </div>
    <? } ?>


    Habe mir zum überprüfen ob die ID per GET übergeben wird, eine Tabelle erstellt in die mit INSERT einfach die ID und der Zeitwert geschrieben wird. Es wird schon etwas eingetragen und auch im Rhytmus aber immer nur der Wert '0'.

    Ich bitte nochmals um ein wenig Hilfe, da mich das ganze schon seit Tagen beschäftigt. Vielen lieben Dank erstmal :)

    LG Stefan
  • in: Jquery Aktualisierung mit dynamischem Timer

    geschrieben von qr-soft

    Hi Leute,

    ich bin neu hier und habe schon einige konstruktive Beiträge gelesen und auch verwenden können. Aktuell stehe ich vor einem großem Problem bei einer Jquery - Funktion mit der Hoffnung und Bitte, daß Ihr mir dabei helfen könnt.

    Kurze Beschreibung. Für ein Kundeninformationssystem, das für eine vorbestimmte Zeit Content anzeigt und dann automatisch wechselt, habe ich eine Jquery-Funktion verwendet: (Link: http://kis.schlesische-bratwurst.de)

    <script type="text/javascript">
    	 $(document).ready(function() {
    	   $("#refresh").load("refresh.php");
    	   var refresh = setInterval(function() {
    	      $("#refresh").load('refresh.php?' + 1*new Date());
    	   }, <? echo $mtime['microtime']; ?>);  // Zeitfaktor wird aus Mysql-DB ausgelesen
    	});
    	</script>
    
    <div id="refresh" style="text-align:center;"></div>


    Das funktioniert soweit auch absolut problemlos. Jetzt stehe ich vor dem Problem, daß nicht immer der gleiche Zeit-Rhytmus verwendet werden soll, da auch Videos mit eingebunden werden. Nun benötige ich eine Funktion bzw deren Erweiterung, dass mir erlaubt, dynamisch für jeden einzelnen Content aus der refresh.php, einen eigenen Timer aus der DB holen und verwenden zu können. Da die Index.php aber nicht refresht werden kann, stehe ich hierbei vor einem Problem. Habe schon vieles ausprobiert und mir auch die Finger wund gegoogelt (Englisch ist kein Problem) nur leider nie das richtige gefunden. Habt Ihr eine Idee oder hat jemand so etwas schon gelöst? Vielleicht sehe ich auch den Wald vor lauter Bäumen nicht....

    Wäre sehr dankbar, wenn mir hierbei jemand helfen könnte. Bin etwas Javascript Laie und kann es nicht wirklich gut. Dafür aber PHP.

    Ich sag schonmal Danke und wir lesen uns :)

    Viele Grüße
    Stefan

Login zum Webhosting ohne Werbung!