Heyy,

Ik heb geprobeert om een javascript te maken maar het is niet helemaal gelukt, weet iemand wat ik fout doe? ( stukken uit script geknipt en bij mekaar geplakt)


<?
$query = mysql_query("SELECT * FROM tbl_users WHERE user_id = '" . $_SESSION['user_id'] . "'");
    while($row = mysql_fetch_assoc($query))
    {
$timme = $row['tijd_gevangenis'] - time();
$uren2 = $timme / "3600";
$uren1 = floor($uren2);
$minuten4 = $uren1 * "3600";
$minuten3 = $timme - $minuten4;
$minuten2 = $minuten3 / "60";
$minuten1 = floor($minuten2);
$seconde3 = $minuten1 * "60";
$seconde2 = $timme - $minuten4;
$seconde1 = $seconde2 - $seconde3;

?>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Time2(){
 hr = $uren1;
 min = $minuten1;
 sec = $seconde1;

 if(hr==0){hr=12}
 else if(hr >= 24){hr-=0}

 if(min <= 9){min="0"-min}{
  myDiv = document.getElementById('time2');
  myDiv.innerHTML = ("<h5>"+" "+" "+hr+":"+min+":"+sec+"");
 }
}
showtime = setInterval("Time2()", 1000)
//--></script>

<td width="15%" align="center"><div id=time2></div></td>
Yearupie, je hoeft geen nieuw topic hiervoor aan te maken. Het antwoord staat in je vorige topic.

Slotje?
uhm..? hier moeten toch vragen over javascripten komen? en het antwoord is een beetje vaag, met die code was ik begonnen..
Nogmaals.

Je had al een topic, waar een antwoord in staat. Sterker nog, je had hier ook al in gebumpt. Een nieuw topic openen is niet nodig dus.

Maar goed, nogmaals het antwoord.

Kijk eens naar je script en ontdek de fouten. Die zie jij niet, zal ik ze voor je opsommen?

- Shorttags. Weet je niet wat dit is, lees de beginnershandleiding.
- Je opent een while, maar waar sluit je die af? Ik hoop voor je dat dit echt maar een klein gedeelte is en dat er dus nog meer komt. Zo niet, dan is dit al een fout. Maar goed, dat buiten gelaten gaan we naar de volgende.
- Je sluit php af, en je zet daarna HTML neer. In jouw voorbeeld op regel 15. Leuk en aardig, maar dat betekend dat je daarna geen php variabelen meer kan gebruiken. Oplossing is heel simpel, zoals gezegt in jouw vorige topic: gebruik ipv $uren1, $minuten1, $seconde1 [ignore]<?php echo $uren1;?>[/ignore] enz. enz.

Lijkt me hartstikke duidelijk? Zoiezo heeft JavaScript zelf al een Date functie... Al ge-googled? Denk het zomaar van niet...
- Je opent een while, maar waar sluit je die af? Ik hoop voor je dat dit echt maar een klein gedeelte is en dat er dus nog meer komt. Zo niet, dan is dit al een fout. Maar goed, dat buiten gelaten gaan we naar de volgende.
* ik zeg tog een gedeelte???
- Je sluit php af, en je zet daarna HTML neer. In jouw voorbeeld op regel 15. Leuk en aardig, maar dat betekend dat je daarna geen php variabelen meer kan gebruiken. Oplossing is heel simpel, zoals gezegt in jouw vorige topic: gebruik ipv $uren1, $minuten1, $seconde1
<?php echo $uren1;?>
enz. enz.
* maar dan moet je hem refreshen om de overige tijd te zien, ik wil dat die door tikt als een klok of hoe je het wil noemen??
en als ik deze klok dan heb, hoe kan ik hem ombouwen naar aftellen vanaf een database regel

<?php 
include("header.php"); 
?> 

<?php 
// Dit klokje loopt gelijk met de servertijd. 
print("<SCRIPT type='text/javascript' language='JavaScript'>\n"); 
print("<!--\n"); 
print("ClientTime = new Date();\n"); 
print("Hours = ClientTime.getHours() - ".date('H').";\n"); 
print("Minutes = ClientTime.getMinutes() - ".date('i').";\n"); 
print("Seconds = ClientTime.getSeconds() - ".date('s').";\n"); 

print("function showFilled(Value) {\n"); 
print("return (Value > 9) ? \"\" + Value : \"0\" + Value;\n"); 
print("}\n"); 

print("function StartClock24() {\n"); 
print("TheTime = new Date();\n"); 
print("TheTime.setHours(TheTime.getHours() - Hours);\n"); 
print("TheTime.setMinutes(TheTime.getMinutes() - Minutes);\n"); 
print("TheTime.setSeconds(TheTime.getSeconds() - Seconds);\n"); 
print("document.clock.showTime.value = showFilled(TheTime.getHours()) 
    + \":\" + showFilled(TheTime.getMinutes()) + \":\" + showFilled(TheTime.getSeconds());\n"); 
print("setTimeout(\"StartClock24()\",1000)\n"); 
print("}\n"); 

print("//-->\n"); 
print("</script>\n"); 

print("<body onLoad=\"StartClock24()\">\n"); 

print("<form name='clock'>\n"); 
print("<input readonly='true' name='showTime' size='8' maxlength='8' type='text' 
        style='border: solid 2px; border-color: #FF0000; font-size: 10px; 
        color: #FFFF00; background-color: #000000; font-weight: bold;'>\n"); 
print("</form>\n"); 
?> 

<?php 
include("footer.php"); 
?> 


ik snap er echt bijna niks van.
Kijk eerst of de code gewoon zo werkt met een getal wat je er keihard inzet.
Werkt dat, haal dan de benodigende gegevens uit de database en zet die erin.
Wat staat er in $row['tijd_gevangenis']?
Als ik iets wijzig dan toont hij de tijd niet meer,

$row['tijd_gevangenis'] is ingestelt als time() + "180". Dus de tijd van nu moet aftellen naar tijd_gevangenis. Het verschil is dan de tijd. Als het 0 of lager is dan moet de teller doorschakelen naar index.php ofzo.. header("location: index.php");

<?php
$aftellen = $row['tijd_gevangenis'] - time();

$nu=time();
$uur=floor($aftellen / 3600);
$minuut=floor(($aftellen - ($uur * 3600)) / 60);
$seconde=($aftellen - (($uur * 3600) + ($minuut * 60)));
$uur+=date("H");
$minuut+=date("i");
$seconde+=date("s");
?>

<SCRIPT type="text/javascript" LANGUAGE="JavaScript">
<!--
NewTime = new Date();
NewTime.setHours(NewTime.getHours() - <?php print(date('H')." + ".$uur.")\n"); ?>
NewTime.setMinutes(NewTime.getMinutes() - <?php print(date('i')." + ".$minuut.")\n"); ?>
NewTime.setSeconds(NewTime.getSeconds() - <?php print(date('s')." + ".$seconde.")\n"); ?>
NewHours = NewTime.getHours();
NewMinutes = NewTime.getMinutes();
NewSeconds = NewTime.getSeconds();

function showFilled(Value) {
return (Value > 9) ? "" + Value : "0" + Value;
};

function StartClock24() {
TheTime = new Date();
TheTime.setHours(NewHours - TheTime.getHours());
TheTime.setMinutes(NewMinutes - TheTime.getMinutes());
TheTime.setSeconds(NewSeconds - TheTime.getSeconds());
    if ( (TheTime.getHours() == 0) && (TheTime.getMinutes() == 0) && (TheTime.getSeconds() == 0) )
    {
       alert("Klaar.");
    }
document.clock.showTime.value = showFilled(TheTime.getHours())
    + ":" + showFilled(TheTime.getMinutes()) + ":" + showFilled(TheTime.getSeconds());
setTimeout("StartClock24()",1000);
};
//-->
</script>

<body onLoad="StartClock24()">
<form name=clock>
    <input type='text' name='showTime' size='8' maxlength='8'
        style='border: solid 2px; border-color: #FF0000; font-size: 10px;
        color: #FFFF00; background-color: #000000; font-weight: bold;'>
</form>

Reageren