Affichage "aléatoire" des pages HTML

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Affichage "aléatoire" des pages HTML

Message par LPC le Mer 11 Sep 2013 - 15:12

Bonjour à tous!

Je vais tâcher de vous expliquer mon problème le plus clairement possible... Bah oui, je suis totalement noob dans le domaine et mon vocabulaire peut souffrir de quelques lacunes. Razz  Soyez indulgents, merci.

J'administre le forum d'un club de poker, et notamment tout ce qui concerne les compétitions.
Un ami bidouilleur en informatique nous a conçu un script permettant d'attribuer des points à nos joueurs à partir d'un barême établi, de définir un classement et d'afficher le tout dans un joli tableau.

Je crée une page par manche ou étape, et une autre pour le classement général dont le script ne change pas, il me suffit de cumuler les étapes et ça se fait tout seul.

Voici les scripts:
Classement d'une manche:

Code:
<p>1ere manche du championnat LPT 2013</p>
<script type="text/javascript">// <![CDATA[
// Remplir le classement ci-dessous.
// Mettre un "-" devant les non-adhérants pour qu'ils ne touchent pas de points
var classement = [
// ==== DEBUT DU CLASSEMENT ====
"piloutre",
"lulu",
"lapaluche",
"olivergiro",
"vicman6987",
"Kassandre",
"Epike",
"frodon87",
"Benonclesoul",
"minettepoker",
"NOUNOURS87",
"Zzed",
"XIII87",
"om pat 87",
"toph87",
"fleche44",
"Tagada87",
"Torino",
"Gilbert",
"NICOB27",
"retzen",
"frenchzen",
"Cazoll",
"Zman87",
"kaméléon87",
"jarod87",
"le rital11",
"- papoudi",
"sin_us",
"lefrench87",
"villfranck",
"@kronos@",
"ludo87260",
"shester1",
"KromatiX",
"pokerface_st",
"tonio87",
"zelann",
"lecocher",
"gaston",
"carnibird",
"pierrot",
"Bernard",
"gruntz",
"loustik87",
"Sonic87",
"minol87",
"MuGeN",
"Macmighan",
"paslim87",
"JBiskoP",
"olivier87",
"mezaachi",
"phrygane",
"Axl23",
"Bombardier",
"-tibox-",
"- coolcool87",
"Lo PicAtau",
// ==== FIN DU CLASSEMENT ====
];

function formulePAL(p,n,c)
{
var valP = parseFloat(p);
var valN = parseFloat(n);
var valC = parseFloat(c);    // devrait valoir 1
var part1 = 100.0 + (valN/10.0);
var part2 = Math.sqrt(valN/Math.pow(valP,Math.exp(10.0/valN)));
var part3 = Math.pow(2,Math.log(valC+0.01)/Math.LN10);
var part4 = 50.0*valP/valN;
var part5 = valN/4.0;
var res = ( part1 * Math.sqrt(part2*part3) ) - part4 - part5;
return res.toFixed(2);
}

function formuleWinamax(p,n,c)
{
var valP = parseFloat(p);
var valN = parseFloat(n);
var valC = parseFloat(c);
var part1 = Math.pow(valP,Math.exp(10.0/valN));
var part2 = Math.pow(2.2,Math.log(valC+0.01)/Math.LN10);
var res = 100.0 * Math.sqrt(valN/part1) * part2;
return res.toFixed(2);
}

function formuleLPC(p,n)
{
var valP = parseFloat(p);
var valN = parseFloat(n);
var res = 5.0+0.7*(formulePAL(p,n,1.0)-formulePAL(n,n,1.0));
if (valP<=8)
res += valN*(0.5+Math.pow((8.-valP)/9.3,3));
return res.toFixed(2);
}

var yadumoins = false;

function remplirTable()
{
document.write('<table border="1"><tbody>');
for (var i=1 ; i<=classement.length ; i++)
{
if (i==1) couleur = "#66BBFF";
else if (i<=3) couleur = "#88EEFF";
else if (i<=8) couleur = "#AAFFAA";
else couleur = "#EEEE88";

var nom = classement[i-1];
var score;
if ((nom.length>=2) && (nom.charAt(0)=='-') && (nom.charAt(1)==' '))
{
nom = nom.substring(2,nom.length);
score = 0.0;
yadumoins = true;
}
else
score = formuleLPC(i,classement.length);

document.write('<tr><td style="text-align:center;background-color:'+couleur+'" mce_style="text-align:center;background-color:'+couleur+'">'+i+'</td>');
document.write('<td style="text-align:left;background-color:'+couleur+'" mce_style="text-align:left;background-color:'+couleur+'">'+nom+'</td>');
document.write('<td style="text-align:right;background-color:'+couleur+'" mce_style="text-align:right;background-color:'+couleur+'">'+score+'</td></tr>');
}
document.write('</tbody></table>');
}

remplirTable();
// ]]></script>
<script type="text/javascript">// <![CDATA[
if (yadumoins)
document.write("<p>Note : Les joueurs n'adhérant pas encore au club au moment du tournoi ne remportent pas de points.</p>");
// ]]></script>
Classement général:

Code:
<script type="text/javascript">// <![CDATA[
var championnat = [
new Array(
// ==== DEBUT DU CLASSEMENT 1 ====
"piloutre",
"lulu",
"lapaluche",
"olivergiro",
"vicman6987",
"Kassandre",
"Epike",
"frodon87",
"Benonclesoul",
"minettepoker",
"NOUNOURS87",
"Zzed",
"XIII87",
"om pat 87",
"toph87",
"fleche44",
"Tagada87",
"Torino",
"Gilbert",
"NICOB27",
"retzen",
"frenchzen",
"Cazoll",
"Zman87",
"kaméléon87",
"jarod87",
"le rital11",
"- papoudi",
"Jean-Claude",
"lefrench87",
"villfranck",
"@kronos@",
"ludo87260",
"shester1",
"KromatiX",
"pokerface_st",
"tonio87",
"zelann",
"lecocher",
"gaston",
"carnibird",
"pierrot",
"Bernard",
"gruntz",
"loustik87",
"Sonic87",
"minol87",
"MuGeN",
"Macmighan",
"paslim87",
"JBiskoP",
"olivier87",
"mezaachi",
"phrygane",
"Axl23",
"Bombardier",
"-tibox-",
"- coolcool87",
"Lo PicAtau"
// ==== FIN DU CLASSEMENT 1 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 2 ====
"olivier87",
"x_jimbo",
"phrygane",
"minol87",
"Zzed",
"yanis87",
"loustik87",
"shester1",
"VALCRI",
"olivergiro",
"gaston",
"Axl23",
"Sedullos",
"Nounours87",
"Biem87",
"Bernard",
"MOUNIR87",
"XIII87",
"Gilbert",
"om pat 87",
"gruntz",
"- quentinlucas87",
"ludo87260",
"jarod87",
"-tibox-",
"frenchzen",
"paslim87",
"Krakor",
"vicman6987",
"lefrench87",
"carnibird",
"Kassandre",
"lulu",
"frodon87",
"@kronos@",
"tonio87",
"cazoll",
"pokerface_st",
"le rital11",
"Macmighan",
"toph87",
"coolcool87",
"Blackwings",
"Benonclesoul",
"kaméléon87",
"KromatiX",
"fleche44",
"Alex0687",
"piloutre",
"keops2028",
"Villfranck",
"Jean-Claude",
"Bombardier",
"atess_away",
"Sonic87",
"JBisKop",
"mezaachi",
"NICOB27",
"retzen",
"Roulce23",
"jéjédu87",
"minettepoker",
"Torino",
"Zman87",
"Lo PicAtau",
"tagada87"
// ==== FIN DU CLASSEMENT 2 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 3 ====
"Blackwings",
"toph87",
"carnibird",
"x_jimbo",
"JBisKop",
"Alex0687",
"pokerface_st",
"gruntz",
"Villfranck",
"le rital11",
"frenchzen",
"mezaachi",
"@kronos@",
"Bombardier",
"parano",
"Sedullos",
"Lo PicAtau",
"paslim87",
"jejewarrior72",
"tagada87",
"MOUNIR87",
"Zman87",
"olivergiro",
"KromatiX",
"minettepoker",
"lulu",
"Lecocher",
"Sonic87",
"retzen",
"jarod87",
"minol87",
"vicman6987",
"om pat 87",
"loustik87",
"phrygane",
"Jean-Claude",
"Arkaos",
"jéjédu87",
"-tibox-",
"Zzed",
"ludo87260",
"lefrench87",
"yanis87",
"shester1",
"cazoll",
"Kassandre",
"kaméléon87",
"XIII87",
"gaston",
"Benonclesoul",
"fleche44"
// ==== FIN DU CLASSEMENT 3 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 4 ====
"KromatiX",
"zelann",
"Sonic87",
"Blackwings",
"vicman6987",
"Zman87",
"piloutre",
"Zzed",
"carnibird",
"lapaluche",
"frenchzen",
"pierrot",
"Bernard",
"Lo PicAtau",
"om pat 87",
"olivier87",
"tagada87",
"tonio87",
"minettepoker",
"parano",
"- mobidique",
"XIII87",
"gaston",
"pokerface_st",
"JBisKop",
"ludo87260",
"quentinlucas87",
"paslim87",
"coolcool87",
"jarod87",
"Gilbert",
"Macmighan",
"Bombardier",
"gruntz",
"cazoll",
"lulu",
"atess_away",
"lefrench87",
"Villfranck",
"Jean-Claude",
"Roulce23",
"Epike",
"frodon87",
"keops2028",
"yanis87",
"fleche44",
"Alex0687",
"mezaachi",
"Biem87",
"x_jimbo",
"MOUNIR87",
"minol87",
"loustik87",
"@kronos@",
"NICOB27"
// ==== FIN DU CLASSEMENT 4 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 5 ====
"minettepoker",
"om pat 87",
"coolcool87",
"quentinlucas87",
"Gilbert",
"vicman6987",
"Kassandre",
"KromatiX",
"XIII87",
"frodon87",
"Zman87",
"MuGen",
"paslim87",
"gruntz",
"mezaachi",
"Sonic87",
"Villfranck",
"piloutre",
"Zzed",
"olivier87",
"tagada87",
"- nytoo",
"Bombardier",
"XiTo",
"lulu",
"@kronos@",
"edzio#777",
"minol87",
"Biem87",
"Sedullos",
"tonio87",
"yanis87",
"gaston",
"shester1",
"jarod87",
"MOUNIR87",
"x_jimbo",
"- BT78",
"pierrot",
"carnibird",
"Bernard",
"cazoll",
"toph87",
"ben87",
"loustik87",
"JBisKop",
"phrygane",
"Lecocher",
"- seb gueko",
"pokerface_st",
"parano",
"-tibox-",
"retzen",
"Duncan301",
"frenchzen",
"ludo87260",
"Blackwings",
"le rital11",
"Lo PicAtau",
"fleche44",
"jéjédu87",
"Axl23"
// ==== FIN DU CLASSEMENT 5 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 6 ====
"carnibird",
"mezaachi",
"vicman6987",
"cazoll",
"fleche44",
"lulu",
"Lecocher",
"olivergiro",
"paslim87",
"frenchzen",
"jarod87",
"Zman87",
"lapaluche",
"Bernard",
"yanis87",
"phrygane",
"Gilbert",
"minol87",
"Zzed",
"piloutre",
"le rital11",
"Torino",
"keops2028",
"Alex0687",
"Axl23",
"tonio87",
"Villfranck",
"ludo87260",
"@kronos@",
"MOUNIR87",
"pierrot",
"spok",
"loustik87",
"-tibox-",
"quentinlucas87",
"tagada87",
"toph87",
"gruntz",
"KromatiX",
"pokerface_st",
"shester1",
"gaston",
"Lo PicAtau",
"MuGen",
"frodon87",
"om pat 87",
"minettepoker",
"x_jimbo",
"XIII87",
"coolcool87",
"olivier87",
"Kassandre",
"lefrench87",
"Sonic87",
"ben87"
// ==== FIN DU CLASSEMENT 6 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 7 ====
"Lo PicAtau",
"XIII87",
"mezaachi",
"tagada87",
"Gilbert",
"lapaluche",
"Jean-Claude",
"paslim87",
"Zman87",
"spok",
"fleche44",
"pierrot",
"minettepoker",
"jarod87",
"Blackwings",
"carnibird",
"olivergiro",
"Torino",
"pokerface_st",
"nicol2387",
"JBisKop",
"MuGen",
"frenchzen",
"Youz",
"gaston",
"Biem87",
"om pat 87",
"vicman6987",
"tonio87",
"XiTo",
"Axl23",
"phrygane",
"le rital11",
"olivier87",
"piloutre",
"frodon87",
"Sedullos",
"loustik87",
"@kronos@",
"Alex0687",
"lulu",
"Kassandre",
"coolcool87",
"parano",
"x_jimbo",
"Villfranck",
"cazoll",
"ludo87260",
"minol87",
"Epike",
"quentinlucas87",
"Sonic87",
"ben87"
// ==== FIN DU CLASSEMENT 7 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 8 ====
"x_jimbo",
"fleche44",
"carnibird",
"quentinlucas87",
"Gilbert",
"nicol2387",
"@kronos@",
"XiTo",
"Sedullos",
"paslim87",
"phrygane",
"tonio87",
"jarod87",
"lapaluche",
"keops2028",
"om pat 87",
"Axl23",
"spok",
"coolcool87",
"Youz",
"Bernard",
"Villfranck",
"Alex0687",
"ludo87260",
"tagada87",
"lulu",
"yanis87",
"Jean-Claude",
"- ayo",
"olivier87",
"- sultan86",
"le rital11",
"JBisKop",
"shester1",
"minettepoker",
"Lo PicAtau",
"Biem87",
"Kassandre",
"Torino",
"MuGen",
"jéjédu87",
"mezaachi",
"KromatiX",
"Sonic87",
"Zman87"
// ==== FIN DU CLASSEMENT 8 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 9 ====
"om pat 87",
"Bernard",
"olivier87",
"Lo PicAtau",
"Sedullos",
"Torino",
"Zman87",
"Nounours87",
"quentinlucas87",
"shester1",
"gruntz",
"piloutre",
"jarod87",
"fleche44",
"Blackwings",
"vicman6987",
"Zzed",
"Gilbert",
"ayo",
"Villfranck",
"frodon87",
"tonio87",
"paslim87",
"Kassandre",
"frenchzen",
"gaston",
"mezaachi",
"Axl23",
"Sonic87",
"Alex0687",
"lapaluche",
"Lecocher",
"cazoll",
"bass87",
"coolcool87",
"minol87",
"Biem87",
"Jean-Claude",
"pokerface_st",
"x_jimbo",
"le rital11",
"carnibird",
"MuGen",
"ludo87260",
"JBisKop",
"- Naouch",
"Wengael",
"minettepoker",
"@kronos@",
"Youz",
"-tibox-",
"- Blacklord87",
"KromatiX",
"yanis87",
"XIII87",
"zelann",
"olivergiro"
// ==== FIN DU CLASSEMENT 9 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 10 ====
"gaston",
"gruntz",
"Sonic87",
"om pat 87",
"frenchzen",
"Zman87",
"Biem87",
"Villfranck",
"zelann",
"Nounours87",
"Zzed",
"JBisKop",
"ben87",
"jarod87",
"tagada87",
"Sedullos",
"coolcool87",
"fleche44",
"Kassandre",
"frodon87",
"ludo87260",
"XiTo",
"Blackwings",
"Gilbert",
"Torino",
"Lo PicAtau",
"le rital11",
"vicman6987",
"parano",
"@kronos@",
"Youz",
"MOUNIR87",
"Bombardier",
"Bernard",
"Lecocher",
"AURA87",
"minettepoker",
"carnibird",
"paslim87",
"bass87",
"Jean-Claude",
"XIII87",
"pokerface_st",
"Wengael",
"shester1",
"KromatiX",
"minol87",
"mezaachi"
// ==== FIN DU CLASSEMENT 10 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 11 ====
"vicman6987",
"phrygane",
"carnibird",
"- Aleksandr",
"fleche44",
"paslim87",
"olivier87",
"Jean-Claude",
"tagada87",
"x_jimbo",
"mezaachi",
"- Zlatan",
"om pat 87",
"frenchzen",
"minettepoker",
"Bernard",
"shester1",
"jarod87",
"tonio87",
"nicol2387",
"gaston",
"coolcool87",
"Kassandre",
"quentinlucas87",
"frodon87",
"Gilbert",
"Zman87",
"pokerface_st",
"Lo Picatau",
"cazoll",
"Villfranck",
"yanis87",
"minol87",
"KromatiX",
"le rital11",
"Axl23",
"Sonic87",
"@kronos@",
"- M!k€",
"loustik87"
// ==== FIN DU CLASSEMENT 11 ====
)
,
new Array
(
// ==== DEBUT DU CLASSEMENT 12 ====
"minol87",
"quentinlucas87",
"minettepoker",
"wengael",
"nicol2387",
"paslim87",
"olivier87",
"Axl23",
"carnibird",
"Jean-Claude",
"x_jimbo",
"om pat 87",
"Tagada87",
"- dada",
"spok",
"Lo PicAtau",
"vicman6987",
"Cazoll",
"A£eksandr",
"gruntz",
"ludo87260",
"Kassandre",
"- ubbrown87",
"Gilbert",
"coolcool87",
"bass87",
"pokerface_st",
"biem87",
"frenchzen",
"lulu",
"parano",
"tonio 87",
"fleche44",
"- lauren87",
"ZZED",
"Blackwings",
"- dude",
"lecocher",
"- chzdz",
"Zman87",
"villfranck",
"jarod87",
"zelann",
"- daniel.c",
"MOUNIR87",
"@kronos@",
"sultan86",
"gaston",
"Bernard",
"mezaachi",
"le rital11",
"frodon87"
// ==== FIN DU CLASSEMENT 12 ====
)
];


 // Indiquer ci-dessous le nombre de tournois pris en compte.
 // Par exemple 4 signifie qu'on va comptabiliser les 4 meilleurs scores de chaque joueur
 // 0 signifie qu'on compte tous les tournois
 // Normalement ça devrait être 2/3 du nombre total de manches de la saison
 var NbTournoisQuiComptent = 12;
 
// Le nombre de tournois minimum auxquels un joueur doit participer pour figurer dans le classement
 // Normalement ça devrait être 1/3 du nombre total de manches de la saison mais au minimum 4.
 // Ici on utilise NbTournoisMiniTemp pour dire à partir de combien de tournoi on figure dans le
 // classement (en gris) et NbTournoisMini pour y figurer "vraiment" (en noir).
 var NbTournoisMiniTemp = 1;
 var NbTournoisMini = 6;
 
if (NbTournoisQuiComptent <= 0)
 NbTournoisQuiComptent = championnat.length;

 function formulePAL(p,n,c)
 {
 var valP = parseFloat(p);
 var valN = parseFloat(n);
 var valC = parseFloat(c); // devrait valoir 1
 var part1 = 100.0 + (valN/10.0);
 var part2 = Math.sqrt(valN/Math.pow(valP,Math.exp(10.0/valN)));
 var part3 = Math.pow(2,Math.log(valC+0.01)/Math.LN10);
 var part4 = 50.0*valP/valN;
 var part5 = valN/4.0;
 var res = ( part1 * Math.sqrt(part2*part3) ) - part4 - part5;
 return res.toFixed(2);
 }

 function formuleWinamax(p,n,c)
 {
 var valP = parseFloat(p);
 var valN = parseFloat(n);
 var valC = parseFloat(c);
 var part1 = Math.pow(valP,Math.exp(10.0/valN));
 var part2 = Math.pow(2.2,Math.log(valC+0.01)/Math.LN10);
 var res = 100.0 * Math.sqrt(valN/part1) * part2;
 return res.toFixed(2);
 }
 
function formuleLPC(p,n)
 {
 var valP = parseFloat(p);
 var valN = parseFloat(n);
 var res = 5.0+0.7*(formulePAL(p,n,1.0)-formulePAL(n,n,1.0));
 if (valP<=8)
 res += valN*(0.5+Math.pow((8.-valP)/9.3,3));
 return res.toFixed(2);
 }

 function preg_replace (array_pattern, array_pattern_replace, my_string)
 {
 var new_string = String (my_string);
 for (i=0; i<array_pattern.length; i++)
 {
 var reg_exp= RegExp(array_pattern[i], "gi");
 var val_to_replace = array_pattern_replace[i];
 new_string = new_string.replace (reg_exp, val_to_replace);
 }
 return new_string;
 }

 function sansAccent(s)
 {
 var new_string = "";
 var pattern_accent = new Array("é", "è", "ê", "ë", "ç", "à", "â", "ä", "î", "ï", "ù", "ô", "ó", "ö");
 var pattern_replace_accent = new Array("e", "e", "e", "e", "c", "a", "a", "a", "i", "i", "u", "o", "o", "o");
 new_string = preg_replace(pattern_accent, pattern_replace_accent, s);
 return new_string;
 }
 
// Classement = [ nom, bestscore1, bestscore2, bestscore3, bestscore4 , total, nbparticipations ]
 var classement = Array();
 var nbjoueurs = 0; // Va être calculé par calculerPoints ci-dessous

 function calculerPoints()
 {
 for (var etape=0 ; etape<championnat.length ; etape++)
 {
 for (var i=0 ; i<championnat[etape].length ; i++)
 {
 var score = formuleLPC(i+1,championnat[etape].length);
 // Recherche si le nom existe déjà, sinon on l'ajoute
 var trouve = false;
 var j = 0;

 var nom = sansAccent(championnat[etape][i]);
 if ((nom.length>=2) && (nom.charAt(0)=='-') && (nom.charAt(1)==' '))
 {
 nom = nom.substring(2,nom.length);
 score = 0.0;
 trouve = true;
 }
 while ((!trouve) && (j<nbjoueurs))
{
 if (classement[j][0].toUpperCase() == nom.toUpperCase())
 {
 trouve = true;
 // Recherche du score le plus faible parmi les N meilleurs de ce joueur
 var minidx = 1;
 var minval = classement[j][1];
 for (var k=2 ; k<=NbTournoisQuiComptent ; k++)
 {
 if (eval(classement[j][k]) < eval(minval))
 {
 minval = classement[j][k];
 minidx = k;
 }
 }
 if (eval(score)>0.0)
 {
 classement[j][NbTournoisQuiComptent+2] = eval(classement[j][NbTournoisQuiComptent+2])+1; // nb participations
 if (eval(score)>eval(minval))
 classement[j][minidx]=score;
 }
 }
 j++;
 }

 if (!trouve)
 {
 var joueur = new Array();
 joueur.push(nom);
 joueur.push(score);
 for (var x=2; x<=NbTournoisQuiComptent ; x++)
 joueur.push(0.0);
 joueur.push(0.0);
 if (eval(score)>0.0)
 joueur.push(1);
 else
 joueur.push(0);
 classement.push(joueur);
 nbjoueurs++;
 }
 }
 }
 }

 function TrierColDesc(x1,x2)
 {
 return (eval(x1[NbTournoisQuiComptent+1]) > eval(x2[NbTournoisQuiComptent+1]))? -1 : 1;
 }

 function TrierValDesc(x1,x2)
 {
 return (eval(x1) > eval(x2))? -1 : 1;
 }

 function trierClassement()
 {
 // On commence par faire les totaux
 var total;
 var compteur;
 var score;
 var x;
 for (var i=0 ; i<nbjoueurs ; i++)
 {
 total = 0.0;
 var scoresTries = Array();
 for (x=1; x<=eval(NbTournoisQuiComptent) ; x++)
 {
 scoresTries.push(eval(classement[i][x]));
 total = eval(total)+eval(classement[i][x]);
 }
 scoresTries.sort(TrierValDesc);
 for (x=1; x<=eval(NbTournoisQuiComptent) ; x++)
 classement[i][x] = scoresTries[x-1];
 if (classement[i][NbTournoisQuiComptent+2]<eval(NbTournoisMiniTemp))
 total = 0.0;
 classement[i][NbTournoisQuiComptent+1] = total.toFixed(2);
 
}
 // Et on trie...
 classement.sort(TrierColDesc);
 }

 function remplirTable()
 {
 document.write('<p>Classement général au terme de la manche '+championnat.length+'</p>');
 document.write('<table border="1">');
 document.write('<tbody>');
 document.write('<tr><td style="font-weight:bold;text-align:left;color:white;background-color:black" mce_style="font-weight:bold;text-align:left;color:color:white;background-color:black">Class.</td>');
 document.write('<td style="font-weight:bold;text-align:left;color:white;background-color:black" mce_style="font-weight:bold;text-align:left;color:white;background-color:black">Pseudonyme</td>');
 document.write('<td style="font-weight:bold;text-align:left;color:white;background-color:black" mce_style="font-weight:bold;text-align:left;color:white;background-color:black">Score</td>');
 document.write('<td style="text-align:left;color:white;background-color:black" mce_style="text-align:left;color:white;background-color:black">Particip.</td>');
 document.write('<td style="text-align:left;color:white;background-color:black" mce_style="text-align:left;color:white;background-color:black">Détails</td></tr>');
 var j;
 for (var i=1 ; (i<=nbjoueurs) && (classement[i-1][NbTournoisQuiComptent+1]>0) ; i++)
 {
 if (i==1) couleur = "#66BBFF";
 else if (i<=3) couleur = "#88EEFF";
 else if (i<=8) couleur = "#AAFFAA";
 else couleur = "#EEEE88";
 if (classement[i-1][NbTournoisQuiComptent+2]<NbTournoisMini) coulnom = "#808080"; else coulnom="#000000";
 document.write('<tr><td style="font-weight:bold;text-align:center;color:'+coulnom+';background-color:'+couleur+'" mce_style="font-weight:bold;text-align:center;color:'+coulnom+';background-color:'+couleur+'">'+i+'</td>');
 document.write('<td style="font-weight:bold;text-align:left;color:'+coulnom+';background-color:'+couleur+'" mce_style="font-weight:bold;text-align:left;color:'+coulnom+';background-color:'+couleur+'">'+classement[i-1][0]+'</td>');
 document.write('<td style="font-weight:bold;text-align:right;color:'+coulnom+';background-color:'+couleur+'" mce_style="font-weight:bold;text-align:right;color:'+coulnom+';background-color:'+couleur+'">'+classement[i-1][NbTournoisQuiComptent+1]+'</td>');
 document.write('<td style="text-align:center;color:'+coulnom+';background-color:'+couleur+'" mce_style="text-align:center;color:'+coulnom+';background-color:'+couleur+'">'+classement[i-1][NbTournoisQuiComptent+2]+'</td>');
 document.write('<td style="text-align:left;color:'+coulnom+';background-color:'+couleur+'" mce_style="text-align:left;color:'+coulnom+';background-color:'+couleur+'">');
 document.write(classement[i-1][1]);
 j=2;
 while ((j<=NbTournoisQuiComptent) && (eval(classement[i-1][j])>0.0))
 {
 document.write(' + '+classement[i-1][j]);
 j++;
 }
 document.write('</td></tr>');
 }
 document.write('</tbody>');
 document.write('</table>');
 }

 calculerPoints();
 trierClassement();
 remplirTable();
// ]]></script>
</script>
<p>
Les joueurs affichés en gris n'ont pas encore totalisé le nombre de participations minimum pour que leur score soit pris en compte.
</p>

Donc, en clair, après chaque manche, je récupère le classement à partir d'un logiciel dédié en ".csv". Je copie/colle dans Notepad++.

J'ouvre ensuite le panneau d'administration de mon forum>modules>HTML et Javascript>gestion des pages HTML.
J'ouvre une page existante avec "modifier", je copie tout le contenu (ctrlA, ctrlC); je crée une nouvelle page, lui donne un titre correspondant à la manche jouée, je coche "oui" à "Voulez-vous utiliser le haut et le bas de page de votre forum ?", puis colle le script. Je modifie ensuite la partie avec les pseudos pour la manche en question.
Pour le classement général, je rajoute la manche jouée à la suite du code avec les balises et tout le toutim.
Dans un cas comme dans l'autre, je clique sur "prévisualisation" pour vérifier que tout va bien. J'enregistre et copie/colle l'URL du lien pour pouvoir l'insérer dans un post du forum dédié aux classements.

C'est là que ça se complique...
Parfois, le lien créé ouvre une page au contenu tronqué (titre apparant, mais pas de contenu). Parfois une page blanche. Parfois le tableau souhaité.
De plus, depuis quelques temps, je n'ai plus aucune des pages créées qui affiche le tableau, parfois même dès la prévisualisation.
J'ai vérifié le script au cas où j'aurais effacé un caractère par erreur et ça n'est pas le cas.
La page de notre compétition phare (la 1ere créée) continue à s'afficher correctement avec le résultat souhaité.

J'en perds mon latin (déjà pas très évolué Razz ).

Quelqu'un pourrait-il m'aider à résoudre ce problème?

D'avance merci.


Dernière édition par LPC le Jeu 12 Sep 2013 - 15:25, édité 1 fois

LPC
*

Messages : 36
Inscrit(e) le : 24/05/2011

http://limogespokerclub.forumactif.com/forum
LPC a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Affichage "aléatoire" des pages HTML

Message par Scoubifitz le Mer 11 Sep 2013 - 16:02

bonjour,

en bas du 2e code il y a 2 balises de fermeture "script" , supprimez en une pour voir ... geek 

Scoubifitz
+ Hyperactif +

Masculin
Messages : 3539
Inscrit(e) le : 18/03/2008

http://scoubidous.superforum.fr/
Scoubifitz a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Affichage "aléatoire" des pages HTML

Message par LPC le Mer 11 Sep 2013 - 16:24

@Scoubifitz a écrit:bonjour,

en bas du 2e code il y a 2 balises de fermeture "script" , supprimez en une pour voir ... geek 
C'est à dire? Le "</script>"?
Je l'ai supprimé, et ça ne change rien. Sad 

Cela dit, j'ai posté ces 2 codes à titre d'exemple. Le classement général a toujours bien fonctionné.
Enfin... mis à part le dernier repris et utilisé pour une autre compétition:
Compétition online:
Code:
<script type="text/javascript">// <![CDATA[
var championnat = [
new Array(
// ==== DEBUT DU CLASSEMENT 1 ====
"Nico2387",
"lerital87",
"quentinlucas",
"jarod87",
"shutupetdeal",
"matala",
"Sedullos",
"vicman6987",
"gruntz",
"Killbert",
"pokerfacest",
"sin-us",
"Flush87",
"carnibird"
// ==== FIN DU CLASSEMENT 1 ====
)
];

   // Indiquer ci-dessous le nombre de tournois pris en compte.
   // Par exemple 4 signifie qu'on va comptabiliser les 4 meilleurs scores de chaque joueur
   // 0 signifie qu'on compte tous les tournois
   // Normalement ça devrait être 2/3 du nombre total de manches de la saison
   var NbTournoisQuiComptent = 8;
   
   // Le nombre de tournois minimum auxquels un joueur doit participer pour figurer dans le classement
   // Normalement ça devrait être 1/3 du nombre total de manches de la saison mais au minimum 4.
   // Ici on utilise NbTournoisMiniTemp pour dire à partir de combien de tournoi on figure dans le
   // classement (en gris) et NbTournoisMini pour y figurer "vraiment" (en noir).
   var NbTournoisMiniTemp = 1;
   var NbTournoisMini = 6;
   
   if (NbTournoisQuiComptent <= 0)
      NbTournoisQuiComptent = championnat.length;

   function formulePAL(p,n,c)
   {
      var valP = parseFloat(p);
      var valN = parseFloat(n);
      var valC = parseFloat(c);   // devrait valoir 1
      var part1 = 100.0 + (valN/10.0);
      var part2 = Math.sqrt(valN/Math.pow(valP,Math.exp(10.0/valN)));
      var part3 = Math.pow(2,Math.log(valC+0.01)/Math.LN10);
      var part4 = 50.0*valP/valN;
      var part5 = valN/4.0;
      var res = ( part1 * Math.sqrt(part2*part3) ) - part4 - part5;
      return res.toFixed(2);
   }

   function formuleWinamax(p,n,c)
   {
      var valP = parseFloat(p);
      var valN = parseFloat(n);
      var valC = parseFloat(c);
      var part1 = Math.pow(valP,Math.exp(10.0/valN));
      var part2 = Math.pow(2.2,Math.log(valC+0.01)/Math.LN10);
      var res = 100.0 * Math.sqrt(valN/part1) * part2;
      return res.toFixed(2);
   }
   
   function formuleLPC(p,n)
   {
      var valP = parseFloat(p);
      var valN = parseFloat(n);
      var res = 5.0+0.7*(formulePAL(p,n,1.0)-formulePAL(n,n,1.0));
      if (valP<=6)
         res += valN*(0.5+Math.pow((6.-valP)/9.3,3));
      return res.toFixed(2);
   }

   function preg_replace (array_pattern, array_pattern_replace, my_string)
   {
      var new_string = String (my_string);
      for (i=0; i<array_pattern.length; i++)
      {
         var reg_exp= RegExp(array_pattern[i], "gi");
         var val_to_replace = array_pattern_replace[i];
         new_string = new_string.replace (reg_exp, val_to_replace);
      }
      return new_string;
   }

   function sansAccent(s)
   {
      var new_string = "";
      var pattern_accent = new Array("é", "è", "ê", "ë", "ç", "à", "â", "ä", "î", "ï", "ù", "ô", "ó", "ö");
      var pattern_replace_accent = new Array("e", "e", "e", "e", "c", "a", "a", "a", "i", "i", "u", "o", "o", "o");
      new_string = preg_replace(pattern_accent, pattern_replace_accent, s);
      return new_string;
   }
   
   // Classement = [ nom, bestscore1, bestscore2, bestscore3, bestscore4 , total, nbparticipations ]
   var classement = Array();
   var nbjoueurs = 0;   // Va être calculé par calculerPoints ci-dessous

   function calculerPoints()
   {
      for (var etape=0 ; etape<championnat.length ; etape++)
      {
         for (var i=0 ; i<championnat[etape].length ; i++)
         {
            var score = formuleLPC(i+1,championnat[etape].length);
            // Recherche si le nom existe déjà, sinon on l'ajoute
            var trouve = false;
            var j = 0;

            var nom = sansAccent(championnat[etape][i]);
            if ((nom.length>=2) && (nom.charAt(0)=='-') && (nom.charAt(1)==' '))
            {
               nom = nom.substring(2,nom.length);
               score = 0.0;
               trouve = true;
            }
            while ((!trouve) && (j<nbjoueurs))
            {
               if (classement[j][0].toUpperCase() == nom.toUpperCase())
               {
                  trouve = true;
                  // Recherche du score le plus faible parmi les N meilleurs de ce joueur
                  var minidx = 1;
                  var minval = classement[j][1];
                  for (var k=2 ; k<=NbTournoisQuiComptent ; k++)
                  {
                     if (eval(classement[j][k]) < eval(minval))
                     {
                        minval = classement[j][k];
                        minidx = k;
                     }
                  }
                  if (eval(score)>0.0)
                  {
                     classement[j][NbTournoisQuiComptent+2] = eval(classement[j][NbTournoisQuiComptent+2])+1;   // nb participations
                     if (eval(score)>eval(minval))
                        classement[j][minidx]=score;
                  }
               }
               j++;
            }

            if (!trouve)
            {
               var joueur = new Array();
               joueur.push(nom);
               joueur.push(score);
               for (var x=2; x<=NbTournoisQuiComptent ; x++)
                  joueur.push(0.0);
               joueur.push(0.0);
               if (eval(score)>0.0)
                  joueur.push(1);
               else
                  joueur.push(0);
               classement.push(joueur);
               nbjoueurs++;
            }
         }
      }
   }

   function TrierColDesc(x1,x2)
   {
      return (eval(x1[NbTournoisQuiComptent+1]) > eval(x2[NbTournoisQuiComptent+1]))? -1 : 1;
   }

   function TrierValDesc(x1,x2)
   {
      return (eval(x1) > eval(x2))? -1 : 1;
   }

   function trierClassement()
   {
      // On commence par faire les totaux
      var total;
      var compteur;
      var score;
      var x;
      for (var i=0 ; i<nbjoueurs ; i++)
      {
         total = 0.0;
         var scoresTries = Array();
         for (x=1; x<=eval(NbTournoisQuiComptent) ; x++)
         {
            scoresTries.push(eval(classement[i][x]));
            total = eval(total)+eval(classement[i][x]);
         }
         scoresTries.sort(TrierValDesc);
         for (x=1; x<=eval(NbTournoisQuiComptent) ; x++)
            classement[i][x] = scoresTries[x-1];
         if (classement[i][NbTournoisQuiComptent+2]<eval(NbTournoisMiniTemp))
            total = 0.0;
         classement[i][NbTournoisQuiComptent+1] = total.toFixed(2);
         
      }
      // Et on trie...
      classement.sort(TrierColDesc);
   }

   function remplirTable()
   {
      document.write('<p>Classement général au terme de la manche '+championnat.length+'</p>');
      document.write('<table border="1">');
      document.write('<tbody>');
      document.write('<tr><td style="font-weight:bold;text-align:left;color:white;background-color:black" mce_style="font-weight:bold;text-align:left;color:color:white;background-color:black">Class.</td>');
      document.write('<td style="font-weight:bold;text-align:left;color:white;background-color:black" mce_style="font-weight:bold;text-align:left;color:white;background-color:black">Pseudonyme</td>');
      document.write('<td style="font-weight:bold;text-align:left;color:white;background-color:black" mce_style="font-weight:bold;text-align:left;color:white;background-color:black">Score</td>');
      document.write('<td style="text-align:left;color:white;background-color:black" mce_style="text-align:left;color:white;background-color:black">Particip.</td>');
      document.write('<td style="text-align:left;color:white;background-color:black" mce_style="text-align:left;color:white;background-color:black">Détails</td></tr>');
      var j;
      for (var i=1 ; (i<=nbjoueurs) && (classement[i-1][NbTournoisQuiComptent+1]>0) ; i++)
      {
         if (i==1) couleur = "#66BBFF";
         else if (i<=3) couleur = "#88EEFF";
         else if (i<=<img src="http://illiweb.com/fa/i/smiles/icon_cool.gif" alt="Cool" longdesc="10" /> couleur = "#AAFFAA";
         else couleur = "#EEEE88";
         if (classement[i-1][NbTournoisQuiComptent+2]<NbTournoisMini) coulnom = "#808080"; else coulnom="#000000";
         document.write('<tr><td style="font-weight:bold;text-align:center;color:'+coulnom+';background-color:'+couleur+'" mce_style="font-weight:bold;text-align:center;color:'+coulnom+';background-color:'+couleur+'">'+i+'</td>');
         document.write('<td style="font-weight:bold;text-align:left;color:'+coulnom+';background-color:'+couleur+'" mce_style="font-weight:bold;text-align:left;color:'+coulnom+';background-color:'+couleur+'">'+classement[i-1][0]+'</td>');
         document.write('<td style="font-weight:bold;text-align:right;color:'+coulnom+';background-color:'+couleur+'" mce_style="font-weight:bold;text-align:right;color:'+coulnom+';background-color:'+couleur+'">'+classement[i-1][NbTournoisQuiComptent+1]+'</td>');
         document.write('<td style="text-align:center;color:'+coulnom+';background-color:'+couleur+'" mce_style="text-align:center;color:'+coulnom+';background-color:'+couleur+'">'+classement[i-1][NbTournoisQuiComptent+2]+'</td>');
         document.write('<td style="text-align:left;color:'+coulnom+';background-color:'+couleur+'" mce_style="text-align:left;color:'+coulnom+';background-color:'+couleur+'">');
         document.write(classement[i-1][1]);
         j=2;
         while ((j<=NbTournoisQuiComptent) && (eval(classement[i-1][j])>0.0))
         {
            document.write(' + '+classement[i-1][j]);
            j++;
         }
         document.write('</td></tr>');
      }
      document.write('</tbody>');
      document.write('</table>');
   }

   calculerPoints();
   trierClassement();
   remplirTable();
// ]]></script>
</script>
<p>
Les joueurs affichés en gris n'ont pas encore totalisé le nombre de participations minimum pour que leur score soit pris en compte.
</p>
Je n'y connais vraiment pas grand chose, mais suis plutôt cartésien. Comment expliquer que ça fonctionne un temps donné, et plus maintenant?

LPC
*

Messages : 36
Inscrit(e) le : 24/05/2011

http://limogespokerclub.forumactif.com/forum
LPC a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Affichage "aléatoire" des pages HTML

Message par Scoubifitz le Mer 11 Sep 2013 - 16:57

lol!  une erreur de copie de forum !^^

donc , toujours la balise </script> en trop , et ...

            if (i==1) couleur = "#66BBFF";
            else if (i<=3) couleur = "#88EEFF";
            else if (i<=<img src="http://illiweb.com/fa/i/smiles/icon_cool.gif" alt="Cool" longdesc="10" /> couleur = "#AAFFAA";
            else couleur = "#EEEE88";
à remplacer par :
            if (i==1) couleur = "#66BBFF";
            else if (i<=3) couleur = "#88EEFF";
            else if (i<=8 ) couleur = "#AAFFAA";
            else couleur = "#EEEE88";
le huit et la parenthèse de fermeture forme un smiley ! Cool

Scoubifitz
+ Hyperactif +

Masculin
Messages : 3539
Inscrit(e) le : 18/03/2008

http://scoubidous.superforum.fr/
Scoubifitz a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Affichage "aléatoire" des pages HTML

Message par LPC le Mer 11 Sep 2013 - 17:14

LOL

Je ne sais pas comment cette partie du code a pu être changée au cours d'un copier/coller, mais bref... ça marche!

Je vérifie toutes les pages qui ne s'affichent pas correctement avant de classer ce sujet comme "résolu".

Un ENORME merci, en tout cas.

@+

LPC
*

Messages : 36
Inscrit(e) le : 24/05/2011

http://limogespokerclub.forumactif.com/forum
LPC a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Affichage "aléatoire" des pages HTML

Message par LPC le Jeu 12 Sep 2013 - 15:25

J'ai beau chercher, je ne comprends toujours pas comment ce bout de code HTML peut soudainement se transformer en smiley...
Bref, j'ai corrigé toutes les erreurs et mes résultats s'affichent désormais correctement. C'était le but!
J'ai également modifié le code du smiley en question pour ne plus être ennuyé.
Sujet RÉSOLU, donc.
Encore merci de ton aide.
@+

LPC
*

Messages : 36
Inscrit(e) le : 24/05/2011

http://limogespokerclub.forumactif.com/forum
LPC a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum