Rechercher : dans
Par :

Decompte php/javascript

Dernière réponse le 15 mai 2009 à 17:04:37 Plopy21, le 21 jan 2009 à 20:03:28 
 Signaler ce message aux modérateurs

Bonjour,
J'aimerai bien faire un compte à rebours en php/javascript pour gérer les attaques dans un jeu en ligne.

Pour la partie php ça va par contre pour le javascript c'est une autre histoire.
Tout va bien tant qu'il n'y a qu'une attaque mais le problème c'est que quand il y a 2 attaque j'aimerai bien que sa affiche 2 compte à rebours (un pour chaque attaque).

<script language="JavaScript">
               
function t()
{
	var compteur=document.getElementById('compteur');
	s=duree;
	m=0;h=0;
	if(s<0)
	{
		compteur.innerHTML="<br />"
	}
	else
	{
		if(s>59)
		{
			m=Math.floor(s/60);
			s=s-m*60
		}
		if(m>59)
		{
			h=Math.floor(m/60);
			m=m-h*60
		}
		if(s<10)
		{
			s="0"+s
		}
		if(m<10)
		{
			m="0"+m
		}
		compteur.innerHTML=h+":"+m+":"+s+"<br />"
	}
	duree=duree-1;
	window.setTimeout("t();",999);
}
			
</script>
				
	<div id="compteur"></div>
	<?php
	IF($pseudo == $recherche_bdd_combat['pseudo_attaquant'])
	{ 
		?><a href="enter.php">rappeler les hommes</a><?php
	}
	$timestamp = time();
	$timestamp_final = $recherche_bdd_combat['timestamp_final'];
	$temps = $timestamp_final - $timestamp;
	?>
<script language="JavaScript">
	duree="<?php echo $temps ?>";
	t();
</script>
Configuration: Windows Vista
Firefox 3.0.5

Meilleures réponses pour « decompte php/javascript » dans :
Javascript - Coloration syntaxique dans vos pages web VoirSi vous avez un site web contenant des exemples de code (php, javascript, C#, Delphi, Python...), il peut être intéressant d'avoir une coloration syntaxique. C'est parfois pénible à réaliser, mais il existe une librairie Javascript qui permet de...
Javascript - l'objet Array VoirLes particularités de l'objet Array L'objet Array est un objet du noyau Javascript permettant de créer et de manipuler des tableaux. Voici la syntaxe à utiliser pour créer une variable tableau : var x = new Array(element1[, element2, ...]); Si...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...
Javascript - les boîtes de dialogue VoirQu'est-ce qu'une boîte de dialogue? Une boîte de dialogue est une fenêtre qui s'affiche au premier plan suite à un événement, et qui permet Soit d'avertir l'utilisateur Soit le confronter à un choix Soit lui demander de compléter un champ pour...

1

Smoking bird, le 21 jan 2009 à 20:08:10

Ton problème est lié au fait que tu veux utiliser du javascript et du php en même temps, mais pas de la bonne façon. N'oublis pas que javascript s'execute côté client, et php, côté serveur uniquement.

ceci est donc invalide, et ne peut pas fonctionner:

<script language="JavaScript">
	duree="<?php echo $temps ?>";
	t();
</script>


utilise des fonctions de temps de javascript, ou alors renseigne toi sur les technologies AJAX, ça devrait t'aider^^

Répondre à Smoking bird

2

Plopy21, le 21 jan 2009 à 20:41:27

Je viens d'essayer en mettant ça mais ça ne marche pas

var date_final = <?php echo $timestamp_final ?>;
var date = <?php echo $timestamp ?>;
var temps = date_final - date;

duree=temps;

Répondre à Plopy21

3

Smoking bird, le 21 jan 2009 à 20:43:16

ça ne risque pas, cf plus haut.

Répondre à Smoking bird

4

Plopy21, le 22 jan 2009 à 15:25:26

Je vois bien comment récupérer la date (sous forme de timestamp) en javascript mais je ne vois pas comment faire pour avoir la date_final sans faire comme j'ai fait.

J'ai regarder avec Ajax mais d'après ce que j'ai compris il faut transmettre les variable par POST ou GET mais là ma variable vient directement de ma bdd.

Ne saurais tu pas comment faire pour que ca fonctionne ?

Répondre à Plopy21

5

 guytou, le 15 mai 2009 à 17:04:37

Je crois que ça devrait aller comme suit :
<script language="JavaScript">

function t()
{
var compteur=document.getElementById('compteur');
s=duree;
m=0;h=0;
if(s<0)
{
compteur.innerHTML="<br />"
}
else
{
if(s>59)
{
m=Math.floor(s/60);
s=s-m*60
}
if(m>59)
{
h=Math.floor(m/60);
m=m-h*60
}
if(s<10)
{
s="0"+s
}
if(m<10)
{
m="0"+m
}
compteur.innerHTML=h+":"+m+":"+s+"<br />"
}
duree=duree-1;
window.setTimeout("t();",999);
}

</script>

<div id="compteur"></div>
<?php
IF($pseudo == $recherche_bdd_combat['pseudo_attaquant'])
{
?><a href="enter.php">rappeler les hommes</a><?php
}
$timestamp = time();
$timestamp_final = $recherche_bdd_combat['timestamp_final'];
$temps = $timestamp_final - $timestamp;
?>
<?php echo '<script language="JavaScript">
duree="'.$temps.'";
t();
</script>'; ?>

Répondre à guytou