Hi Big Community,
habe ein riesen Problem... ich habe NUll plan von JS, aber brauche es für mein browsergame.
mein prob:
cih wollte die endbauzeit eines gebäudes aus der datenbank lesen und es mithilfe von JS ausgeben,
wie lange es noch dauert bis das gebäude fertig ist. ich habe ein js skript schon bekommen,
aber leider weis ich net wie ich des anwenden soll... BITTE HILFT MIR !
	
 es funktioniert einfach nicht...
Ich bedanke mich herzlich für eure Hilfen/Antworten!!!
MfG
Big A
					habe ein riesen Problem... ich habe NUll plan von JS, aber brauche es für mein browsergame.
mein prob:
cih wollte die endbauzeit eines gebäudes aus der datenbank lesen und es mithilfe von JS ausgeben,
wie lange es noch dauert bis das gebäude fertig ist. ich habe ein js skript schon bekommen,
aber leider weis ich net wie ich des anwenden soll... BITTE HILFT MIR !
PHP-Code:
	
	
<? function EndBuildingTime() {
global $player;
global $sessionid;
$sql_ergebnis = mysql_query("SELECT ID, Picture, Name, Level, EndBuildingTime FROM buildings 
WHERE Owner = '$player' AND EndBuildingTime != '0000-00-00 00:00:00'");
if (mysql_num_rows($sql_ergebnis) > 0) {
$id = mysql_result($sql_ergebnis, 0, 'ID');
$picture = mysql_result($sql_ergebnis, 0, 'Picture');
$name = mysql_result($sql_ergebnis, 0, 'Name');
$level = mysql_result($sql_ergebnis, 0, 'Level');
$endbuildingtime = mysql_result($sql_ergebnis, 0, 'EndBuildingTime');
preg_match("#(\d+)-(\d+)-(\d+) (\d+) : (\d+) : (\d+)#", $endbuildingtime, $matches);  
echo "<script language="JavaScript"> 
       
 
      // Ziel-Datum in MEZ; Exemplarische Werte zum test. 
      var jahr=".$matches[1].";         // Wert muss aus der Datenbank geholt werden 
      var monat=".$matches[2].";          // Wert muss aus der Datenbank geholt werden 
      var tag=".$matches[3].";             // Wert muss aus der Datenbank geholt werden 
      var stunde=".$matches[4].";         // Wert muss aus der Datenbank geholt werden 
      var minute=".$matches[5].";         // Wert muss aus der Datenbank geholt werden 
      var sekunde=".$matches[6].";        // Wert muss aus der Datenbank geholt werden 
       
      var zielDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde); 
 
      function counter() { 
        startDatum=new Date(); // Aktuelles Datum 
 
        // Counter berechnen und anzeigen, bis Ziel-Datum erreicht ist 
        if(startDatum<=zielDatum)  { 
 
          var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0; 
 
 
          // Jahre 
          if(startDatum<zielDatum) { 
            while(startDatum<zielDatum) { 
              if(startDatum.setFullYear(startDatum.getFullYear()+1) <= zielDatum) jahre++; 
            } 
            startDatum.setFullYear(startDatum.getFullYear()-1); 
          } 
 
          // Restliche Tage zum Monatsende ermitteln 
          var restTage=0; 
          var m=startDatum.getMonth(); 
          if(m==1-1||m==3-1||m==5-1||m==7-1||m==8-1||m==10-1||m==12-1) 
              restTage=31-startDatum.getDate(); 
          else if(m==4-1||m==6-1||m==9-1||m==11-1) restTage=30-startDatum.getDate(); 
          else if(m==2-1) { 
            if(startDatum.getFullYear()%4==0 && (startDatum.getFullYear()%100!=0 
                || startDatum.getFullYear()%400==0)) 
                    restTage=29-startDatum.getDate(); // Schaltjahr 
            else restTage=28-startDatum.getDate(); 
          } 
 
          // Start- und Ziel-Tag merken und auf 1 setzen 
          var startTag=startDatum.getDate(); 
          var zielTag=zielDatum.getDate(); 
          startDatum.setDate(1); 
          zielDatum.setDate(1); 
 
          // Monate 
          if(startDatum<zielDatum) { 
            while(startDatum<zielDatum) { 
              if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++; 
            } 
            startDatum.setMonth(startDatum.getMonth()-1); 
          } 
 
          // Tatsächlichen Start- und Ziel-Tag berücksichtigen 
          if(startDatum.getMonth()==zielDatum.getMonth()) { 
            if(startTag <= zielTag) startDatum.setDate(startTag); 
            else { 
              monate--; 
              tage=restTage+1; 
            } 
          } 
          else { 
            startDatum.setMonth(startDatum.getMonth()+1); 
            if(startTag >= zielTag) tage=restTage+1; 
            else { 
              monate++; 
              startDatum.setDate(startTag); 
            } 
          } 
          zielDatum.setDate(zielTag); 
 
          // Tage 
          restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000)); 
          startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000); 
          tage+=restTage; 
 
          // Stunden 
          stunden=Math.floor((zielDatum-startDatum)/(60*60*1000)); 
          startDatum.setTime(startDatum.getTime()+stunden*60*60*1000); 
 
          // Minuten 
          minuten=Math.floor((zielDatum-startDatum)/(60*1000)); 
          startDatum.setTime(startDatum.getTime()+minuten*60*1000); 
 
          // Sekunden 
          sekunden=Math.floor((zielDatum-startDatum)/1000); 
 
           
       // Anzeige formatieren 
          if(jahre!=0)jahre=jahre+":"; 
       if(monate!=0)monate=monate+":"; 
       if(tage!=0)tage=tage+":"; 
       if(stunden!=0)stunden=stunden+":"; 
       minuten=minuten+":"; 
       if(minuten<10) minuten="0"+minuten; 
       if(sekunden<10) sekunden="0"+sekunden; 
 
 
 
          document.counterform.counterinput.value=jahre+monate+tage+stunden+minuten+sekunden; 
 
          setTimeout('counter()',200); 
        } 
        // Anderenfalls keine aktive Bau-/Forschoption 
        else document.counterform.counterinput.value=""; 
      } 
    </script> 
<body onLoad=\"count()\"><table>";
echo "<tr><td>Der Ausbau von <img src=\"$picture\"> 
<a href=\"building.php?sessionid=$sessionid&building=$id\">"
 . htmlentities($name) . "</a> auf Stufe " . ($level + 1) . " wird in"; ?><form name="counterform"> 
      <p> 
        <input size="10" name="counterinput" readonly="counterinput"> 
      </p> 
    </form> 
<? echo "fertig sein.</td></tr>\r\n";
  echo "</table><br>\r\n";
}
} ?>
Ich bedanke mich herzlich für eure Hilfen/Antworten!!!
MfG
Big A
          


Kommentar