JeuWeb - Crée ton jeu par navigateur
Compte rebours script PHP/mySQL Besoin aide sinon suicide - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Compte rebours script PHP/mySQL Besoin aide sinon suicide (/showthread.php?tid=1213)

Pages : 1 2


RE: Compte rebours script PHP/mySQL Besoin aide sinon suicide - Cartoristal - 19-09-2007

Code :
<DIV ID="Counter"></DIV>

<SCRIPT type="text/javascript">
var Seconds_Counter = 7200; // indiquez la durée du compte à rebours en secondes
var URL_Redirection_Counter = "index.html"; // indiquez le chemin du lien vers lequel le texte doit pointer
var Text_Redirection_Counter = "Le compte a rebours est maintenat terminé. Ce lien permet d'aller a index.html"; // indiquez le texte du lien
var Target_Redirection_Counter = "_top"; // indiquez le type de target : "_blank", "_parent", "_self" ou "_top"

//les autres variables n'ont pas a etre modifiées//

var Target_Counter = document.getElementById('Counter');
var Target_Time_Counter = new Date();
var Time_Beginn_Counter = Target_Time_Counter.getTime();
var Time_End_Counter = Time_Beginn_Counter + (Seconds_Counter*1000);
Target_Time_Counter.setTime(Time_End_Counter);

// variables inutilisée ds ce code, servant a un compte a rebours sur plusieurs années

var Day_Counter = Target_Time_Counter.getDate();
var Month_Counter = Target_Time_Counter.getMonth() + 1;
var Year_Counter = Target_Time_Counter.getYear();
if(Year_Counter < 999) Year_Counter += 1900;
var h_Counter = Target_Time_Counter.getHours();
var m_Counter = Target_Time_Counter.getMinutes();
var s_Counter = Target_Time_Counter.getSeconds();

var fday_Counter = ((Day_Counter < 10) ? "0" : "") + Day_Counter + "/";
var fmonth_Counter = ((Month_Counter < 10) ? "0" : "") + Month_Counter + "/";
var fyear_Counter = Year_Counter
var fh_Counter = ((h_Counter < 10) ? "0" : "") + h_Counter + "h ";
var fm_Counter = ((m_Counter < 10) ? "0" : "") + m_Counter + "min ";
var fs_Counter = ((s_Counter < 10) ? "0" : "") + s_Counter + "sec";

var End_Date_Counter = fday_Counter + fmonth_Counter + fyear_Counter;
var End_Time_Counter = fh_Counter + fm_Counter + fs_Counter;
CountDown_Counter();

function CountDown_Counter() {
var Current_Date_Counter = new Date();
var Curren_tTime_Counter = Current_Date_Counter.getTime()
var Open_Time_Counter = Math.floor((Target_Time_Counter-Curren_tTime_Counter)/1000);
var s_Counter = Open_Time_Counter % 60;
var m_Counter = ((Open_Time_Counter-s_Counter)/60) % 60;
var h_Counter = ((Open_Time_Counter-s_Counter-m_Counter*60)/(60*60));
var fh_Counter = ((h_Counter < 10) ? "0" : "") + h_Counter + "h ";
var fm_Counter = ((m_Counter < 10) ? "0" : "") + m_Counter + "min ";
var fs_Counter = ((s_Counter < 10) ? "0" : "") + s_Counter + "sec";

var Time_Counter = fh_Counter + fm_Counter + fs_Counter;
var Output_String_Counter=Time_Counter;

if(Open_Time_Counter<=0) {
Target_Counter.innerHTML= "<a href='" + URL_Redirection_Counter + "' target='" + Target_Redirection_Counter + "'>" + Text_Redirection_Counter + "</a>";
}else{
Target_Counter.innerHTML= "Le compte a rebours se finira le " + End_Date_Counter + " à " + End_Time_Counter+ ", c'est a dire dans " + Output_String_Counter;
window.setTimeout("CountDown_Counter()",1000);
}

}
</SCRIPT>

Voila le petit script java...


Code PHP :
<?php 
session_start
(); // On démarre la session AVANT toute chose
include("mysql_connect.php");

$_SESSION['idjoueur'] = 5;
echo
$_SESSION['idjoueur'];
$id=$_SESSION['idjoueur'];
echo
$id;
$batiment='mine';
$time=(time()+7200);

mysql_query("INSERT INTO constructions VALUES ('$time','$batiment','$id')");


if (
$requete = @mysql_query('SELECT batiment, terminé FROM constructions WHERE id_joueur = '.$_SESSION['idjoueur'])) {
while (
$data = @mysql_fetch_assoc($requete)) {
if (
$data['terminé'] < time()) {
// construction terminée
echo 'Le batiment ['.$data['batiment'].' est terminé';
} else {
echo
'Le batiment '.$data['batiment'].' est en construction, il sera terminé le '.date('d/m/Y H:i:s', $data['terminé']);
}
}
}
?>

Le petit script php ( cherchez pas pour les trucs au départ c'est des tests


Et donc comment faire pour enregistrer le temps...
Afin que si je relance la page ... le joueur voit qu'il lui reste X temps.
J'ai le cerveau en compote je vais m'arrêter là pour ce soir...
Je vais réfléchir dans mon lit je pense qu'il faut utiliser plus d'une page ...
Enfin je compte pas mal sur vos conseils avisée^^
En éspérant ne pas trop vous faire braire, cordialement, Le Fatigué ^^


RE: Compte rebours script PHP/mySQL Besoin aide sinon suicide - Loetheri - 20-09-2007

Merci d'utiliser les balises pour la mise en forme de ton mesage ;-)


RE: Compte rebours script PHP/mySQL Besoin aide sinon suicide - Cartoristal - 20-09-2007

Je sais pas trop mais je vais enregistrer la mine dans la base une fois le fameux compte à rebours finis.
Et après chaque 4h ( ou chaque secondes )
Eh beh je calcule X Ressources * mine * lvl_mine ( si je met des niveaux à mes bâtiments ).
Et je rajoute de total dans la base du joueur.
Je pense plus à une tache cron pour cela.

Cependant je cherche encore pour la fin de mon script ...
I need help pour finir le compte à rebours ...


RE: Compte rebours script PHP/mySQL Besoin aide sinon suicide - Cartoristal - 20-09-2007

Un petit UP ...
S'il vous plait ... Smile


RE: Compte rebours script PHP/mySQL Besoin aide sinon suicide - Mysterarts - 20-09-2007

Up permis toutes les 48 heures...
Merci de suivre le règlement...
Mysterarts, pas ultra à cheval sur le règlement, mais autant tout de suite rappelé cette règle...


RE: Compte rebours script PHP/mySQL Besoin aide sinon suicide - Cartoristal - 22-09-2007

Bon je vous annonce avec fiereté qu'en bidouillant un coup j'ai finis par réusir ...
Le code donc pour le futur galériens...

Code PHP :
<?php 
if ($requete = @mysql_query("SELECT batiment_en_construction, terminé FROM joueur WHERE Pseudo='$id'")) {
while (
$data = @mysql_fetch_assoc($requete)) {
if (
$data['terminé'] < time()) { // Si le temps actuel est plus grand que l'ancien tps + 2h alors
// construction terminée
echo 'Le batiment ['.$data['batiment_en_construction'].' est terminé'; // ond dit que la construction est finie
[...]
else{
echo
'Le batiment '.$data['batiment_en_construction'].' est en construction, il sera terminé le '.date('d/m/Y H:i:s', $data['terminé']); // Si pas encore fini on donne le temps restant
// chercher un compte rebours java ...
}

Dans une page antérieure bien sur je donne
Code PHP :
<?php 
$time
=time()+7200 // 7200 = 2h en secondes
Et j'enregistre le $time dans une table de ma base.
Je l'enregistre dans Terminé.

Ainsi je regarde si $data['terminé'] est plus grand ( pas encore fini ) ou plus petit ( alors construction finie ) que le time() actuel...

Merci à ceux qui m'ont aidé ... et j'espère que cela servira ...
( me MP si questions ^^ )
Cependant je trouve que les posts passent vite à l'oubliette ...
( 5h après leur création ... c'est du passé dommage ... )