Pb compte à rebours mysql
Résolu
dwieser
Messages postés
235
Statut
Membre
-
dwieser Messages postés 235 Statut Membre -
dwieser Messages postés 235 Statut Membre -
Bonjour,
Voici code compte à rebours avec mysql
ce code fonctionne
dans mysql j'ai la table "temps_restant" avec 3 colonnes
"id" , "temps_fin" et j'en ai rajouté une "or" avec valeur par default "3000"
bien sur cette colonne or est un exemple
ce que je souhaite c'est que dès que le compte à rebours est terminé
soit par l'exemple si dessous 10 secondes
une valeur exemple +200 soit rajoutée à ma colonne or et deviendrai de ce fait 3200
tout en sachant que la valeur soit rajoutée même si l'internaute est déconnecté
merci par avance de vos réponses
--
Moi je plante et toi tu creuses !!!
Voici code compte à rebours avec mysql
ce code fonctionne
dans mysql j'ai la table "temps_restant" avec 3 colonnes
"id" , "temps_fin" et j'en ai rajouté une "or" avec valeur par default "3000"
bien sur cette colonne or est un exemple
ce que je souhaite c'est que dès que le compte à rebours est terminé
soit par l'exemple si dessous 10 secondes
une valeur exemple +200 soit rajoutée à ma colonne or et deviendrai de ce fait 3200
tout en sachant que la valeur soit rajoutée même si l'internaute est déconnecté
merci par avance de vos réponses
<?php
// Déclaration de la variable id qui sert généralement pour plusieurs compteurs
$id = '1';
// Nous récupérons le time actuel et nous lui ajoutons x secondes
$temps_final = time()+(10);
// Nous commencerons cette prmière étape par nous connecté à notre Base de Données
include"connect_sql.php";
// Nous mettons à jour la table temps_restant, plus précisement la colone "temps_fin" avec la variable "$temps_finaux" qui possédera l'"id" 1
mysql_query("UPDATE temps_restant SET temps_fin ='".$temps_final."' WHERE id='".$id."'") or die("Un erreur c'est produite dans la base de donnée<br>");
?>
<?php
// Nous sélectionnons la colone "temps_fin" de la table "temps_restant" avec pour "id" 1
// Vous pouvez remplacer le champs "id" par pseudo, joueur,...
// C'est à vous de voir.
$requete = "SELECT temps_fin FROM temps_restant WHERE id = '1'" ;
// Ici nous envoyons la requete et nous demandons à être informé d'une éventuelle erreur
$resultat = mysql_query($requete) or die('Une erreur c\'est introduite rendant impossible l\'envoi de la requête.');
// La requête nous renvoie ici la donnée précédemment demandée
$row = mysql_fetch_array($resultat);
// Nous attribuons ici la donné à une variable pour plus de facilité
$temps_final = $row['temps_fin'];
// Ceci n'est pas une ligne obligatoire.
// Elle permet d'afficher quand notre décompte prend fin.
echo 'Temps de fin '. date('H:i:s y-m-d', $temps_final) ."\n";
// Nous calculons le temps restant par rapport à l'heure actuelle.
$temps_final = $temps_final - time();
// Puis nous refermons la base de données.
mysql_close();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Décompteur style Ogame</title>
</head>
<script>
// Nous créons la fonction temps qui permettra la création de notre compteur
function decompte_temps()
{
var compteur=document.getElementById('compteur');
// Déclaration des variables initiales
s=temps_restant;
m=0;
h=0;
j=0;
// Si le temps restant est inférieur à 0
if(s<0)
{
// Nous affichons le lien "Continuer" tant que le nombre de secondes restent inférieures à 0
compteur.innerHTML="Terminé<br />"+"<a href=http://lien1.fr>continuer</a>"
}
// Si le temps restant est supérieur à 0
else
{
// Dans cette partie nous allons vérifier que le nombre de seconde et de minute ne dépasse pas 60
// Ainsi que le nombre d'heure ne dépasse pas 24
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(h>23)
{
j=Math.floor(h/24);
h=h-j*24
}
// cette partie sert uniquement à afficher 00 et non 0 si nos chiffre sont inférieur à 10.
if(s<10)
{
s="0"+s
}
if(m<10)
{
m="0"+m
}
if(h<10)
{
h="0"+h
}
// Nous affichons le lien "Interrompre" tant que le nombre de secondes restent supérieures à 0
compteur.innerHTML=j+":"+h+":"+m+":"+s+"<br /><a href=http://lien2.fr>Interrompre</a>"
}
// Nous soustrayons une seconde à notre décompteur
temps_restant=temps_restant-1;
//Nous demandons à répéter cette opération toutes les secondes
window.setTimeout("decompte_temps();",1000);
}
</script>
<body>
<div id="compteur">
<script>
// Nous affichons notre premier cycle de notre fonction
temps_restant= "<?php echo $temps_final;?>";
// Nous demandons à notre script de répéter la fonction "decompte_temps"
decompte_temps();
</script>
</div>
</body>
</html>
--
Moi je plante et toi tu creuses !!!
5 réponses
-
Bonjour,
n'ayant reçu aucunes réponses
je relance le sujet
merci par avance
-
bonjour,
n'ayant reçu aucunes réponses
je relance le sujet
merci par avance
Voici code compte à rebours avec mysql
ce code fonctionne
dans mysql j'ai la table "temps_restant" avec 3 colonnes
"id" , "temps_fin" et j'en ai rajouté une "or" avec valeur par default "3000"
bien sur cette colonne or est un exemple
ce que je souhaite c'est que dès que le compte à rebours est terminé
soit par l'exemple si dessous 10 secondes
une valeur exemple +200 soit rajoutée à ma colonne or et deviendrai de ce fait 3200
tout en sachant que la valeur soit rajoutée même si l'internaute est déconnecté
merci par avance de vos réponses
<?php // Déclaration de la variable id qui sert généralement pour plusieurs compteurs $id = '1'; // Nous récupérons le time actuel et nous lui ajoutons x secondes $temps_final = time()+(10); // Nous commencerons cette prmière étape par nous connecté à notre Base de Données include"connect_sql.php"; // Nous mettons à jour la table temps_restant, plus précisement la colone "temps_fin" avec la variable "$temps_finaux" qui possédera l'"id" 1 mysql_query("UPDATE temps_restant SET temps_fin ='".$temps_final."' WHERE id='".$id."'") or die("Un erreur c'est produite dans la base de donnée<br>"); ?> <?php // Nous sélectionnons la colone "temps_fin" de la table "temps_restant" avec pour "id" 1 // Vous pouvez remplacer le champs "id" par pseudo, joueur,... // C'est à vous de voir. $requete = "SELECT temps_fin FROM temps_restant WHERE id = '1'" ; // Ici nous envoyons la requete et nous demandons à être informé d'une éventuelle erreur $resultat = mysql_query($requete) or die('Une erreur c\'est introduite rendant impossible l\'envoi de la requête.'); // La requête nous renvoie ici la donnée précédemment demandée $row = mysql_fetch_array($resultat); // Nous attribuons ici la donné à une variable pour plus de facilité $temps_final = $row['temps_fin']; // Ceci n'est pas une ligne obligatoire. // Elle permet d'afficher quand notre décompte prend fin. echo 'Temps de fin '. date('H:i:s y-m-d', $temps_final) ."\n"; // Nous calculons le temps restant par rapport à l'heure actuelle. $temps_final = $temps_final - time(); // Puis nous refermons la base de données. mysql_close(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Décompteur style Ogame</title> </head> <script> // Nous créons la fonction temps qui permettra la création de notre compteur function decompte_temps() { var compteur=document.getElementById('compteur'); // Déclaration des variables initiales s=temps_restant; m=0; h=0; j=0; // Si le temps restant est inférieur à 0 if(s<0) { // Nous affichons le lien "Continuer" tant que le nombre de secondes restent inférieures à 0 compteur.innerHTML="Terminé<br />"+"<a href=http://lien1.fr>continuer</a>" } // Si le temps restant est supérieur à 0 else { // Dans cette partie nous allons vérifier que le nombre de seconde et de minute ne dépasse pas 60 // Ainsi que le nombre d'heure ne dépasse pas 24 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(h>23) { j=Math.floor(h/24); h=h-j*24 } // cette partie sert uniquement à afficher 00 et non 0 si nos chiffre sont inférieur à 10. if(s<10) { s="0"+s } if(m<10) { m="0"+m } if(h<10) { h="0"+h } // Nous affichons le lien "Interrompre" tant que le nombre de secondes restent supérieures à 0 compteur.innerHTML=j+":"+h+":"+m+":"+s+"<br /><a href=http://lien2.fr>Interrompre</a>" } // Nous soustrayons une seconde à notre décompteur temps_restant=temps_restant-1; //Nous demandons à répéter cette opération toutes les secondes window.setTimeout("decompte_temps();",1000); } </script> <body> <div id="compteur"> <script> // Nous affichons notre premier cycle de notre fonction temps_restant= "<?php echo $temps_final;?>"; // Nous demandons à notre script de répéter la fonction "decompte_temps" decompte_temps(); </script> </div> </body> </html>
Moi je plante et toi tu creuses !!! -
S'il te plait efface les commentaires, car je n'arrive pas a lire votre code....
je souhaite vous aider dans le futur -
Bonjour
voici de nouveau mon code sans les commentaires
<?php $id = '1'; $temps_final = time()+(10); include"connect_sql.php"; mysql_query("UPDATE temps_restant SET temps_fin ='".$temps_final."' WHERE id='".$id."'") or die("Un erreur c'est produite dans la base de donnée<br>"); ?> <?php $requete = "SELECT temps_fin FROM temps_restant WHERE id = '1'" ; $resultat = mysql_query($requete) or die('Une erreur c\'est introduite rendant impossible l\'envoi de la requête.'); $row = mysql_fetch_array($resultat); $temps_final = $row['temps_fin']; echo 'Temps de fin '. date('H:i:s y-m-d', $temps_final) ."\n"; $temps_final = $temps_final - time(); mysql_close(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Décompteur style Ogame</title> </head> <script> function decompte_temps() { var compteur=document.getElementById('compteur'); s=temps_restant; m=0; h=0; j=0; if(s<0) { compteur.innerHTML="Terminé<br />"+"<a href=http://lien1.fr>continuer</a>" } 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(h>23) { j=Math.floor(h/24); h=h-j*24 } if(s<10) { s="0"+s } if(m<10) { m="0"+m } if(h<10) { h="0"+h } compteur.innerHTML=j+":"+h+":"+m+":"+s+"<br /><a href=http://lien2.fr>Interrompre</a>" } temps_restant=temps_restant-1; window.setTimeout("decompte_temps();",1000); } </script> <body> <div id="compteur"> <script> temps_restant= "<?php echo $temps_final;?>"; decompte_temps(); </script> </div> </body> </html>
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bonjour
Pour répondre à ce sujet
et n'ayant reçu aucune réponse
donc voici mon travail
l'objectif était d'obtenir le résultat suivant
nb d'habitants = nb dollars / 1h
et celà généré de façon automatique avec une base mysql
l'actualisation de la page se fait automatiquement toutes les 5 secondes
je vous souhaite une bonne réflexion, pas évident à réaliser<?php include('config.php') ?> <html> <head> <title>Mon bureau</title> <META HTTP-EQUIV="Refresh" CONTENT="5; URL=index.php"> </head> <body> Bonjour<?php if(isset($_SESSION['username'])){echo ' '.htmlentities($_SESSION['username'], ENT_QUOTES, 'UTF-8');} ?>,<br /> Bienvenue sur notre site.<br /> Vous pouvez <a href="users.php">voir la liste des utilisateurs</a>.<br /><br /> <?php if(isset($_SESSION['username'])) { $heureReel=time(); $dnn = mysql_fetch_array(mysql_query('select dollars, population, time from users where username="'.$_SESSION['username'].'"')); $dollars = htmlentities($dnn['dollars'], ENT_QUOTES, 'UTF-8'); $population = htmlentities($dnn['population'], ENT_QUOTES, 'UTF-8'); $time = htmlentities($dnn['time'], ENT_QUOTES, 'UTF-8'); $diftime = $heureReel - $time; $dollarsReel = ($population /3600 * $diftime) + $dollars; mysql_query("UPDATE users SET time ='".$heureReel."' WHERE username='".$_SESSION['username']."'") or die("Un erreur timeReel dans la base de donnée<br>"); mysql_query("UPDATE users SET dollars ='".$dollarsReel."' WHERE username='".$_SESSION['username']."'") or die("Un erreur dollarsReel dans la base de donnée<br>"); ?> <center> <h1>Mon bureau</h1> </center> ARGENT PASSE: <?php echo $dollars; ?> Dollars<br /> ARGENT REEL: <?php echo round ($dollarsReel); ?> Dollars<br /> POPULATION: <?php echo $population; ?> Citoyens<br /> TIME REEL: <?php echo $heureReel; ?> Secondes<br /> TIME PASSE: <?php echo $time; ?> secondes <br /> <a href="edit_infos.php">Modifier mon compte</a><br /> <a href="XY.php">Choisissez votre position sur cette carte</a><br /> <a href="batiment.php">Mes bâtiments</a><br /> <a href="connexion.php">Se déconnecter</a> <?php } else { //Sinon, on lui donne un lien pour sinscrire et un autre pour se connecter ?> <a href="sign_up.php">Inscription</a><br /> <a href="connexion.php">Se connecter</a> <?php } ?> </body> </html>