Le calendrier pour fan de stargate !!!!

Description

un tit truc inutile mais tellement indispenssable aux fans de stargate !
il vous faut un serveur web et la bdd fournie bien sur !
voila je vous laisse decouvrir vous meme les fonctions !!

vous pouvez aussi allez voir la le résultat :
http://overdarck.free.fr/stargate/

Bien sur c'est pas beau, mais c'est pas fait pour mais juste pour integrer dans une page web.

Colez direct ce qui suit dans une page index.php

Source / Exemple :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Welkome on This StarGate Fan page</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?php
/*
un script indispensalbe a tout vrai fans de stargate héhé (perso je l'ai mis a la racine de mon apache c'est gavé cool)
© OverDarck 2005 (Mardi 12/04/2005)
il m'a pris une apres midi alors bon je le publi pour que tout le monde en profite !

qq statistique sur ce gadjet :

6h30 de travail (sisi, en fait au débuit je voulai pas faire sa du tout, alors a force de temps et de remaniment sa en fait du temps !)
1 requette mysql
4 couleurs HTML différentes !!!!
2 scripts javascript
308 lignes avec les saut de lignes et les commentaires

1 litre lait et pas mal de chocolat !
1 mise a jour le lendemain, et encore du lait !

voila ;-)

PS : excusez le manque de commentaire, bon ok en fait je vais en rajouter !

  • /
/* A CONFIGURER */ $my_serv = "localhost"; //hote de votre BDD $my_user = "common"; //nom de connexion a votre BDD $my_mdp = ""; //mdp de votre BDD $my_dbname = "decomptes"; //nom de votre BDD /* C'est tout */ //connexion mysql $mylink = mysql_connect($my_serv,$my_user, $my_mdp); $mydb = mysql_select_db($my_dbname, $mylink); //liste complette des episodes $sql = "SELECT * FROM `stargate2005` ORDER BY `date` ASC"; $req = mysql_query($sql); if($_GET['act']=="stargate"){//liste de tout les stragate ?> <style type="text/css"> .spanlnk {color: #FF9900;} </style> <body bgcolor="#525A73"> <table border="0" cellspacing="0" cellpadding="0" width="640"><!-- on fait un beau tableau pour préserver la mise en page --> <tr><td> <font color="#cccccc"> Liste complette de la difusion des StaGates Sg1 saison 8 et Atlantis saison 1 a venirs sur M6 pour 2005 :</font><br> <font color="#FF9900"> <?php while($row=mysql_fetch_array($req)){//pour chaques épisodes $next = strtotime($row['date']); $rest = abs($next - time());//temps restant avant l'episode traité //convertion secondes en jj et hh:mm:ss $hr = floor($rest / 3600); $mr = floor(($rest - $hr*3600)/60); $sr = floor($rest - $hr*3600 - $mr*60); $jr = floor($hr / 24); $hr = $hr - $jr*24; if($row['type']=="Sg1"){//espacements pour la mise en forme $row['type']="Sg1 "; } if($next>time()){//si l'episode considéré est le suivant $newt=date("d/m", strtotime($row['date'])); if($newt!=$antt){//si il est le meme jours que l'episode précédent on le goupe print("<br>Vendredi ".$newt." :<br>\n");//on crée des groupes de Vendredis $antt=date("d/m", strtotime($row['date'])); } if($jr!=0){//si il reste plus d'un jour (24h) avant l'episode $cbr="soit dans : <b>".$jr."</b> jours"; }else{//sinon on affiche plus de détails. $cbr="soit dans : <b>".$hr."</b>h <b>".$mr."</b> min"; }//on affiche l'episode print(" ".$row['type']." n°".$row['num']." - <a href=\"".$row['link']."\" target=\"_sgf\" class=\"spanlnk\">".$row['titre']."</a> à ".date("H:i", strtotime($row['date']))." ".$cbr."<br>\n"); }else{//l'épisode a déja été diffusé : $jr=abs($jr);//nombre de jours depuis la difusion if($jr!=0){//on regarde la proportion de temps écoulé pour definir la meilleure precision $cbr="passé il y as : <b>".$jr."</b> jours";//affichage juste des jours }elseif($jr==0 && $mn+60*$hr>45){ $cbr="passé il y as : <b>".$hr."</b>h <b>".$mr."</b> min";//affichage juste des heures et minutes }elseif($jr==0){ $cbr="en cours depuis : <b>".$mr."</b> min";//affichage du temps depuis lequel l'episode est en cours }//on stoque cet episode dans $buff pour l'afficher a la fin (apres ceux inédits) $buff.=" ".$row['type']." n°".$row['num']." - <a href=\"".$row['link']."\" target=\"_sgf\" class=\"spanlnk\">".$row['titre']."</a> le ".date("d/m à H:i", strtotime($row['date']))." ".$cbr."<br>\n"; } } if($buff!=""){//on affiche les episodes utlerieur print("<br>Déja passés :<br>\n".$buff); } ?> </font> </td></tr> </table> <p align="right"><font size="2"> ©OverDarck 2005 ;)</font></p> <?php }else{ //MODULE SPECIAL STARGATE SG1 SUR M6 + BDD mysql while($row=mysql_fetch_array($req)){ $next = strtotime($row['date']); if( $next > time() ){//on cherche le prochain episode dans la DB break;//on a trouvé le suivant }//mémorise l'epsiode précédant au cas ou il est en cours $p=array ("num"=>$row['num'], "titre"=>$row['titre'], "link"=>$row['link'], "date"=>$row['date'], "type"=>$row['type']); } $last = strtotime($p['date']); if(abs(time()-$last)<2700){//ep commencé $rest = abs(time() - $last);//temps restant }else{ $rest = abs($next - time());//temps restant } //convertion hh:mm:ss $hr=floor($rest / 3600); $mr=floor(($rest - $hr*3600)/60); $sr=floor($rest - $hr*3600 - $mr*60); if(abs(time()-$last)<2700){//ep commencé $star_txt = "StarGate ".$p['type']." <font color=\"red\">en cours</font> sur M6 ( <a href=\"".$p['link']."\" target=\"_sgf\" class=\"spanlnk\">".$p['num']." : ".$p['titre']."</a> ) depuis"; }else{//episode pas encore commencé $star_txt = "Prochain StarGate ".$row['type']." sur M6 ( <a href=\"".$row['link']."\" target=\"_sgf\" class=\"spanlnk\">".$row['num']." : ".$row['titre']."</a> ) dans"; } ?> <style type="text/css"> .spanlnk {color: #FF9900;} .spanlnk2 {font-size: 11px;color: #FF9900;} .text1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: White;text-align : left;} .text2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;color: Silver;text-align : left;} .titre1 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #FFFFFF;} .titre2 {font-family: Arial, Helvetica, sans-serif;font-size: 12px;font-weight: bold;color: #cccccc;} </style> <script language="javascript"> function HideShowAndPict(ThePicId,TheSpanId,ThePic2Id) { var span = document.getElementById(TheSpanId); var pic = document.getElementById(ThePicId); var pic2 = document.getElementById(ThePic2Id); if (span.style.display == "none"){ span.style.display = "block"; pic.src = '/icons/folder.open.gif'; if(pic2!=""){pic2.src = '/moins.png';}; }else{ span.style.display = "none"; pic.src = '/icons/folder.gif'; if(pic2!=""){pic2.src = '/plus.png';}; } } //affichage span function HideAShow(){ pause_resume() if(mlayer.style.position=='absolute'){ mlayer.style.position = 'static' }else{ mlayer.style.position = 'absolute' } } //décompte var t = <? print($rest); ?>; function compte(){ <? if(abs(time()-$last)<2700){ ?> t++; <? }else{ ?> t--; <? } ?> var zone = document.getElementById('cnt'); var zone1 = document.getElementById('cntm'); tmin= Math.floor(t / 60);//minutes sec=t - 60*tmin;//reste de secondes h= Math.floor(tmin / 60);//heures tmin=tmin - 60*h;//reste de minutes if(h>=24){ j=Math.floor(h/24); h=h-24*j; zone.innerHTML = '<b>'+j+'</b> jours <b>'+h+'</b>h <b>'+tmin+'</b> min <b>'+sec+'</b> sec'; }else{ zone.innerHTML = '<b>'+h+'</b>h <b>'+tmin+'</b> min <b>'+sec+'</b> sec'; } zone1.innerHTML = Math.floor(t/60 + sec/100) ; setTimeout("compte()",1000); if(t==0 || t==2700){location.href = 'index.php';};//reload quand le compte est a 0 } //déplacement Span function changePos() { width = document.body.clientWidth; height = document.body.clientHeight; Hoffset = 20; Woffset = 440//img.style.width; img.style.left = xPos + document.body.scrollLeft; img.style.top = yPos + document.body.scrollTop; if (yon) { yPos = yPos + step; } else { yPos = yPos - step; } if (yPos < 0) { yon = 1; yPos = 0; } if (yPos >= (height - Hoffset)) { yon = 0; yPos = (height - Hoffset); } if (xon) { xPos = xPos + step; } else { xPos = xPos - step; } if (xPos < 0) { xon = 1; xPos = 0; } if (xPos >= (width - Woffset)) { xon = 0; xPos = (width - Woffset); } } function start() { img.visibility = "visible"; interval = setInterval('changePos()', delay); } function pause_resume() { if(pause) { clearInterval(interval); pause = false; } else { interval = setInterval('changePos()',delay); pause = true; } } </script> </head> <body bgcolor="#525A73" onload="compte(); HideAShow();"> <div align="center"> <a href="javascript:HideAShow();" class="text1">Stoper/Activer la flying box 'StarGate'</a></div> <br> <center><span id="MovingSpan" style="visibility:visible; position:absolute; width:460"> <font color="#FF9900"><span style="background-color:#525A73"><? print($star_txt); ?> <span id="cntm"><? print(floor($rest/60)); ?></span> minutes (soit <span id="cnt"><b><? print($hr."</b>h <b>".$mr."</b> min <b>".$sr."</b> sec") ; ?></span>)</span> <a class="spanlnk2" href="?act=stargate">tout</a></font> </span></center><br> <script language="javascript"> var img = document.getElementById('MovingSpan'); var xPos = 20; var yPos = document.body.clientHeight; var step = 1; var delay = 30; var height = 0; var Hoffset = 0; var Woffset = 0; var yon = 0; var xon = 0; var pause = true; var interval; img.style.top = yPos; start(); var mlayer = document.getElementById('MovingSpan'); </script> <?php } mysql_close(); ?> </body> </html>

Conclusion :


voila !

et la base de donnée se trouve dans le zip pour des raison de codage.

MAJ : bientot le même calendrié des diffusions US de la saison 9, qui je vous le rapel commence le vendredi 15 Juillet 2005

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.