Goedenavond,

Ik zit met een naar mijn mening raar probleem. Ik heb 2 php-pagina's met daarin een javascript, die beiden een teller moeten voorstellen. De ene teller telt grondstoffen, en wordt dus steeds groter. De andere teller is een klok vanaf een bepaald aantal seconde, en telt dus af. Dit zijn de javascripts:

grondstoffen.php:

<?php
session_start();
error_reporting(E_ALL);

include('files/dbc.php');

if(isset($_GET['d']))
{
$dorp_id = $_GET['d'];
}
else
{
$dorp_id = $_SESSION['dorp_id'];
}
$gebouw_query = mysql_query("
SELECT * 
FROM dorpen
WHERE dorpen.dorp_id = '".$dorp_id."'");

while($gebouw_res = mysql_fetch_assoc($gebouw_query))
{
//print_r($gebouw_res);
//echo '<br>';
$_SESSION['niv'] = $gebouw_res[niv];
	if($gebouw_res[gebouw_id] == 2)
	{
		include('pakhuis.php');
	}
	
	//	echo '<br>';
	$productie[hout] = $gebouw_res['hout_productie'];
	$productie[klei] = $gebouw_res['klei_productie'];
	$productie[ijzer] = $gebouw_res['ijzer_productie'];
	$productie[graan] = $gebouw_res['graan_productie'];
		$productie[goud] = $gebouw_res['goud_productie'];
	//print_r($productie);
	
		//echo '<br>';
	$pakhuis[hout] = $gebouw_res['hout'];
	$pakhuis[klei] = $gebouw_res['klei'];
	$pakhuis[ijzer] = $gebouw_res['ijzer'];
	$pakhuis[graan] = $gebouw_res['graan'];
		$pakhuis[goud] = $gebouw_res['goud'];
//	print_r($pakhuis);
	
		//	echo '<br>';
	$tijd[hout] = $gebouw_res['hout_tijd'];
	$tijd[klei] = $gebouw_res['klei_tijd'];
	$tijd[ijzer] = $gebouw_res['ijzer_tijd'];
	$tijd[graan] = $gebouw_res['graan_tijd'];
		$tijd[goud] = $gebouw_res['goud_tijd'];
//	print_r($tijd);
		//echo '<br>';
	$tijd_explode[hout] = explode(' ', $tijd[hout]);
	$tijd_explode[klei] = explode(' ', $tijd[klei]);
	$tijd_explode[ijzer] = explode(' ', $tijd[ijzer]);
	$tijd_explode[graan] = explode(' ', $tijd[graan]);
		$tijd_explode[goud] = explode(' ', $tijd[goud]);
	
	//echo '<br>';
//	print_r($tijd_explode);
	//echo '<br>';
	$tijd_explode[dag][hout] = explode('-', $tijd_explode[hout][0]);
	$tijd_explode[dag][klei] = explode('-', $tijd_explode[klei][0]);
	$tijd_explode[dag][ijzer] = explode('-', $tijd_explode[ijzer][0]);
	$tijd_explode[dag][graan] = explode('-', $tijd_explode[graan][0]);
		$tijd_explode[dag][goud] = explode('-', $tijd_explode[goud][0]);
	//print_r($tijd_explode[dag]);
	
	//echo '<br>';
	$tijd_explode[tijd][hout] = explode(':', $tijd_explode[hout][1]);
	$tijd_explode[tijd][klei] = explode(':', $tijd_explode[klei][1]);
	$tijd_explode[tijd][ijzer] = explode(':', $tijd_explode[ijzer][1]);
	$tijd_explode[tijd][graan] = explode(':', $tijd_explode[graan][1]);
		$tijd_explode[tijd][goud] = explode(':', $tijd_explode[goud][1]);
//	print_r($tijd_explode[tijd]);
	
	$tijdstamp[hout] = mktime(
	$tijd_explode[tijd][hout][0],
	$tijd_explode[tijd][hout][1],
	$tijd_explode[tijd][hout][2],
	$tijd_explode[dag][hout][1],
	$tijd_explode[dag][hout][2],
	$tijd_explode[dag][hout][0]);
	
		$tijdstamp[klei] = mktime(
	$tijd_explode[tijd][klei][0],
	$tijd_explode[tijd][klei][1],
	$tijd_explode[tijd][klei][2],
	$tijd_explode[dag][klei][1],
	$tijd_explode[dag][klei][2],
	$tijd_explode[dag][klei][0]);
	
		$tijdstamp[ijzer] = mktime(
	$tijd_explode[tijd][ijzer][0],
	$tijd_explode[tijd][ijzer][1],
	$tijd_explode[tijd][ijzer][2],
	$tijd_explode[dag][ijzer][1],
	$tijd_explode[dag][ijzer][2],
	$tijd_explode[dag][ijzer][0]);
	
		$tijdstamp[graan] = mktime(
	$tijd_explode[tijd][graan][0],
	$tijd_explode[tijd][graan][1],
	$tijd_explode[tijd][graan][2],
	$tijd_explode[dag][graan][1],
	$tijd_explode[dag][graan][2],
	$tijd_explode[dag][graan][0]);
	
			$tijdstamp[goud] = mktime(
	$tijd_explode[tijd][goud][0],
	$tijd_explode[tijd][goud][1],
	$tijd_explode[tijd][goud][2],
	$tijd_explode[dag][goud][1],
	$tijd_explode[dag][goud][2],
	$tijd_explode[dag][goud][0]);
	//echo '<br>';
//print_r($tijdstamp);
		
			$huidige_tijd = time();
			
		$tijd_geleden[hout] = $huidige_tijd - $tijdstamp[hout];
		$tijd_geleden[klei] = $huidige_tijd - $tijdstamp[klei];
		$tijd_geleden[ijzer] = $huidige_tijd - $tijdstamp[ijzer];
		$tijd_geleden[graan] = $huidige_tijd - $tijdstamp[graan];
		$tijd_geleden[goud] = $huidige_tijd - $tijdstamp[goud];
		//print_r($tijd_geleden);		
		
		//echo '<br>';
		
		$pakhuis[hout] = $gebouw_res['hout'] + floor(($productie[hout]/3600) * $tijd_geleden[hout]); 
		$pakhuis[klei] = $gebouw_res['klei'] + floor(($productie[klei]/3600) * $tijd_geleden[klei]);
		$pakhuis[ijzer] = $gebouw_res['ijzer'] + floor(($productie[ijzer]/3600) * $tijd_geleden[ijzer]);
		$pakhuis[graan] = $gebouw_res['graan'] + floor(($productie[graan]/3600) * $tijd_geleden[graan]);
		$pakhuis[goud] = $gebouw_res['goud'] + floor(($productie[goud]/3600) * $tijd_geleden[goud]);
	//	print_r($pakhuis);
	
	$milliseconde[hout] = (3600 * 1000) / $productie[hout];
	$milliseconde[klei] = (3600 * 1000) / $productie[klei];
	$milliseconde[ijzer] = (3600 * 1000) / $productie[ijzer];
	$milliseconde[graan] = (3600 * 1000) / $productie[graan];
	$milliseconde[goud] = (3600 * 1000) / $productie[goud];
	//print_r($milliseconde);
	

	
}

$max_pakhuis = 0;
$max_schatkamer = 0;
$array_inhoud = array(500, 800, 1200, 1800, 2400, 3200, 4000, 5000, 6000, 8000, 10000);

$max_pakhuis_query = mysql_query("SELECT * FROM gebouwen_velden WHERE gebouw_id = 2 AND dorp_id = '".$dorp_id."'");
while($max_pakhuis_res = mysql_fetch_assoc($max_pakhuis_query))
{
$max_pakhuis = $max_pakhuis + $array_inhoud[$max_pakhuis_res[niv]];
}
if($max_pakhuis == 0)
{
$max_pakhuis = 500;
}
$max_schatkamer_query = mysql_query("SELECT * FROM gebouwen_velden WHERE gebouw_id = 3 AND dorp_id = '".$dorp_id."'");
while($max_schatkamer_res = mysql_fetch_assoc($max_schatkamer_query))
{
$max_schatkamer = $max_schatkamer + $array_inhoud[$max_schatkamer_res[niv]];
}
if($max_schatkamer == 0)
{
$max_schatkamer = 500;
}
	if($pakhuis[hout] > $max_pakhuis)
	{
	$pakhuis[hout] = $max_pakhuis;
	}
	if($pakhuis[klei] > $max_pakhuis)
	{
	$pakhuis[klei] = $max_pakhuis;
	}
	if($pakhuis[ijzer] > $max_pakhuis)
	{
	$pakhuis[ijzer] = $max_pakhuis;
	}
	if($pakhuis[graan] > $max_pakhuis)
	{
	$pakhuis[graan] = $max_pakhuis;
	}
	if($pakhuis[goud] > $max_schatkamer)
	{
	$pakhuis[goud] = $max_schatkamer;
	}
?>

<html>
<head>
<meta http-equiv="refresh" content="60"/>
<script type="text/javascript">
var c_hout=<?php echo $pakhuis[hout]; ?>;
var m_hout=<?php echo $milliseconde[hout]; ?>;
var c_klei=<?php echo $pakhuis[klei]; ?>;
var m_klei=<?php echo $milliseconde[klei]; ?>;
var c_ijzer=<?php echo $pakhuis[ijzer]; ?>;
var m_ijzer=<?php echo $milliseconde[ijzer]; ?>;
var c_graan=<?php echo $pakhuis[graan]; ?>;
var m_graan=<?php echo $milliseconde[graan]; ?>;
var c_goud=<?php echo $pakhuis[goud]; ?>;
var m_goud=<?php echo $milliseconde[goud]; ?>;
var max_pakhuis=<?php echo $max_pakhuis; ?>;
var max_schatkamer=<?php echo $max_schatkamer; ?>;


var t;
var timer_is_on=0;

		function timedCount_hout()
	{
		document.getElementById('hout').innerHTML=c_hout;
		if(c_hout < max_pakhuis)
		{
			c_hout=c_hout+1;
		}
		t=setTimeout("timedCount_hout()",m_hout);
	}
		function timedCount_klei()
	{
		document.getElementById('klei').innerHTML=c_klei;
		if(c_klei < max_pakhuis)
		{
			c_klei=c_klei+1;
		}
		t=setTimeout("timedCount_klei()",m_klei);
	}
		function timedCount_ijzer()
	{
		document.getElementById('ijzer').innerHTML=c_ijzer;
		if(c_ijzer < max_pakhuis)
		{
			c_ijzer=c_ijzer+1;
		}
		t=setTimeout("timedCount_ijzer()",m_ijzer);
	}
			function timedCount_goud()
	{
		document.getElementById('goud').innerHTML=c_goud;
		if(c_goud < max_schatkamer)
		{
		c_goud=c_goud+1;
		}
		t=setTimeout("timedCount_goud()",m_goud);
	}
	
<?php
if($milliseconde[graan] >= 0)
{
	?>

	function timedCount_graan()
	{
		document.getElementById('graan').innerHTML=c_graan;
		if(c_graan < max_pakhuis)
		{
			c_graan=c_graan+1;
		}
		t=setTimeout("timedCount_graan()",m_graan);
	}
	<?php
}
else
{
	$milliseconde[graan] = ($milliseconde[graan] * -1);
	?>
	var m_graan=<?php echo $milliseconde[graan]; ?>;
	function timedCount_graan()
	{
		document.getElementById('graan').innerHTML = c_graan;
		c_graan=c_graan-1;
		t=setTimeout("timedCount_graan()",m_graan);
	}
	<?php
}
?>
function doTimer()
{
if (!timer_is_on)
  {
  timer_is_on=1;
    timedCount_hout();
	timedCount_klei();
	timedCount_ijzer();
  	timedCount_graan();
  	timedCount_goud();
  }
}


</script> 
</head>

<body onLoad="doTimer();">
<?php
echo '
<table><tr>
<td width="200">Hout: <span id="hout"></span>/'.$max_pakhuis.'</td>
<td width="200">Klei: <span id="klei"></span>/'.$max_pakhuis.'</td>
<td width="200">IJzer: <span id="ijzer"></span>/'.$max_pakhuis.'</td>
<td width="200">Graan: <span id="graan"></span>/'.$max_pakhuis.'</td>
<td width="200">Goud: <span id="goud"></span>/'.$max_schatkamer.'</td>
</tr></table>

</body>
</html>
';

$_SESSION[hout][pakhuis] = $pakhuis[hout];
$_SESSION[klei][pakhuis] = $pakhuis[klei];
$_SESSION[ijzer][pakhuis] = $pakhuis[ijzer];
$_SESSION[graan][pakhuis] = $pakhuis[graan];
$_SESSION[goud][pakhuis] = $pakhuis[goud];



//print_r($_SESSION)

?>


klok.php:

<script type="text/javascript">
var timer = 2400;
var x;
var timer_is_on=0;

function timedCount()
{
		if(timer >= 0)

		document.getElementById('klok').innerHTML=timer;

		var uren = Math.floor(timer / 3600); <!-- 1200 / 3600 = 0 -->
		var minuten_voor = (timer - (3600 * uren)) / 60; <!-- (1200 - (0)) / 60 = 20 -->
		var minuten = Math.floor(minuten_voor); 
		var seconden = timer - (3600 * uren) - (60 * minuten);
		document.getElementById('uren').innerHTML=uren;
		document.getElementById('minuten').innerHTML=minuten;
		document.getElementById('seconden').innerHTML=seconden;
				timer = timer - 1;
		x=setTimeout("timedCount()",1000);
}
	

function doTimer()
{
if (!timer_is_on)
  {
  	timer_is_on=1;
	timedCount();
  }
}
</script>
<body onLoad="doTimer();">
<td width="200">Goud: <span id="klok"></span></td>
<td width="200">Uren: <span id="uren"></span></td>
<td width="200">Minuten: <span id="minuten"></span></td>
<td width="200">Seconden: <span id="seconden"></span></td>
</body>


Beide pagina's werken, alleen wil ik deze twee scripts op 1 pagina weergeven. Als ik test.php zo invul:

<?php

include('grondstoffen.php');
include('klok.php');
?>


Werkt grondstoffen niet, maar de klok wel. Ik weet dat beide functies dezelfde naam hebben, maar zelfs als ik deze verander heeft dit geen effect. Heeft iemand enig idee wat ik fout doe?

Thomas
Je wilt 2x een body (onload) in 1 document plaatsen. Dat gaat niet werken.

in klok.php gebruik je <td> maar nergens zie ik verder dat je ook een tabel gebruikt.
Bedankt voor de snelle reactie. Ook hier was ik zelf al een keer tegenaan gelopen, maar vreemd genoeg kwam ik niet bij de juiste oplossing. Nu wel, dus bedankt!
Daarnaast moet je ook niet dezelfde namen gebruiken voor verschillende functies. Ook al staan ze voor jou misschien in verschillende bestanden, de browser zet alles achter elkaar en ziet dan twee functies met dezelfde naam en krijgt daar dus problemen mee.

Reageren