Beste,

2 Query's
$time = "SELECT
			TIME_TO_SEC(TIMEDIFF(last_car_attempt, NOW())) AS verschil
		FROM users
		WHERE user_ID = " . $user_ID;
$time_res = mysql_query($time);
$time_row = mysql_fetch_array($time_res);

$sql = "SELECT
			TIME_TO_SEC(TIMEDIFF(offline, NOW())) AS verschil
		FROM users
		WHERE user_ID = " . $user_ID;

$res = mysql_query($sql);
$row = mysql_fetch_array($res);

Bovenstaande Query's werken perfect.

Stukje JavaScript om de teller automatisch te laten lopen
	<script type="text/javascript">
		var begin = <?php echo $time_row['verschil']; ?>;
		var p;

		function init()
		{
			p = document.getElementById('teller');
			tel_af();
		}

		function tel_af()
		{
			p.innerHTML = begin--;
			if(begin >= 0)
			{
				var id1 = setTimeout('tel_af()', 1000)
			}
			else {
				window.location = 'gta.php';
			}
		}
		window.onload = init;
	</script>

Gebruik van eerste Query!
<?
if($time_row['verschil'] >= 0)
{
	echo '
		<span style="color: #FF0000;">You still need to wait&nbsp;<b><span style="color: #FFF;" id="teller"></span></b>&nbsp;seconds.</span><br /><br />
	';
}
?>

^^ Bovenstaande werkt perfect.

De 2 query!
<?php
if($row['verschil'] >= 0)
{
echo '
<div class="offline">***** will be taken offline for maintenance in:&nbsp;<b><span style="color: #FFF;" id="teller_offline"></span></b>&nbsp;seconds.</div><br />
';
}
?>

Het stukje JavaScript dat bij het stukje php code hierboven moet op elke pagina bruikbaar zijn.
Om het in javascript.js te zetten en dat overal te gebruiken gaat niet werken, aangezien er een regel php in gebruikt wordt, wat je bij het andere stukje kan zien. (wat in een file met .js als extensie niet werkt)
Hoe moet ik het stukje JS voor de 2e pagina schrijven wil het gaan werken overal?
Ik probeer de hele dag al vanalles, ik kom er niet meer uit.

Mvg,

Erik
Misschien heb ik je verkeerd begrepen. Maar zou je niet het javascriptje in een leeg .php document kunnen zetten. Vervolgens gebruik je dan: <?php include "document.php"; ?> Nu hoef je dus alleen maar een aanpassing te maken in document.php en het wordt overal doorgevoerd.
Om het in javascript.js te zetten en dat overal te gebruiken gaat niet werken, aangezien er een regel php in gebruikt wordt, wat je bij het andere stukje kan zien. (wat in een file met .js als extensie niet werkt)


Dan doe je het toch met een .php extensie?
<script src="jescript.php" type="text/javascript"></script>

jescript.php:
<?php
header("Content-Type: application/x-javascript");
?>
function blaaaaaaaaaaaaaaaaaaaaaa() {

}
//enz.
Je kunt er oook een functie van maken waar je met PHP de tijd aan meegeeft.

Bijv:


<?php
//javascript:
function teller(begingetal){
   tellerfunctie;
   }

//en dan op je PHP pagina de javascript functie aanroepen, waarbij je een php var meegeeft
?>
teller(<?php echo $begingetal; ?>);



Zoiets moet ook kunnen denk ik, is een mooiere oplossing, omdat je dan je functie wel gewoon in je .js bestand kan zetten. Hou je javascript en PHP toch beter gescheiden.

Wat Boris zegt kan ook wel, maar is niet zo netjes.
ik begrijp hieruit dat je dus database gegevens wilt oproepen met javascript??
volgens mij gaat dat niet zo makkelijk,,
ik probeer het nu ook al een flinke tijd en mij lukt het niet,,
als je weet hoe het werkt zou je het dan ook aan mij willen uitleggen??

ik heb hier nog wel een site over hoe het zou moeten maar ik kan mijn script hier maar niet inpassen :S

http://www.somecoders.com/2006/04/retrieving-database-information-with-ajax-php-and-mysql/
Als je de "basis ajax class" download.. (weet zo de precieze naam niet) dan kan je met de uitleg in de functie, en de mogelijke functieaanroep al bereiken wat jij bedoeld Nico.

Maar volgens mij bedoeld Erik het meer op de manier dat eerst iets wordt opgehaald en dat dat vervolgens in de functie wordt verwerkt.
Volgens mij is alles waar jullie het overhebben redelijk irrelevant, zeker als een van de twee al werkt. Wat ik me wel afvraag is of Erik per ongeluk vergeten is zijn getElementById aanroep in de JavaScript code aan te passen aan teller_offline ipv teller en het zelfde miss voor de redirect.

EDIT: en de nette manier is gewoon een JavaScript functie met dat als argument en die in je onload, of een globale variabele met de tijd.

<script type="text/javascript">
        var begin = <?php echo $time_row['verschil']; ?>;
        var p;

        function init(start)
        {
            p = document.getElementById('teller');
            tel_af(start);
        }

        function tel_af(start)
        {
            p.innerHTML = begin--;
            if(begin >= 0)
            {
                var id1 = setTimeout('tel_af()', 1000)
            }
            else {
                window.location = 'gta.php';
            }
        }
        
    </script>


En dan in je pagina:


<body onload="init(<?php echo $row['verschil']); ?>">


Volgens mij is dit wat Legolas bedoelde in zijn edit en dat was precies wat ik probeerde aan te geven in mijn 1e post in dit topic.

Reageren