Affichage "aléatoire" des pages HTML
2 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Affichage "aléatoire" des pages HTML
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. 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:
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é ).
Quelqu'un pourrait-il m'aider à résoudre ce problème?
D'avance merci.
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. 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é ).
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
Re: Affichage "aléatoire" des pages HTML
bonjour,
en bas du 2e code il y a 2 balises de fermeture "script" , supprimez en une pour voir ...
en bas du 2e code il y a 2 balises de fermeture "script" , supprimez en une pour voir ...
Re: Affichage "aléatoire" des pages HTML
C'est à dire? Le "</script>"?Scoubifitz a écrit:bonjour,
en bas du 2e code il y a 2 balises de fermeture "script" , supprimez en une pour voir ...
Je l'ai supprimé, et ça ne change rien.
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://2img.net/i/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>
Re: Affichage "aléatoire" des pages HTML
:lol!: une erreur de copie de forum !^^
donc , toujours la balise </script> en trop , et ...
donc , toujours la balise </script> en trop , et ...
à remplacer par :if (i==1) couleur = "#66BBFF";
else if (i<=3) couleur = "#88EEFF";
else if (i<=<img src="https://2img.net/i/fa/i/smiles/icon_cool.gif" alt="Cool" longdesc="10" /> couleur = "#AAFFAA";
else couleur = "#EEEE88";
le huit et la parenthèse de fermeture forme un smiley !if (i==1) couleur = "#66BBFF";
else if (i<=3) couleur = "#88EEFF";
else if (i<=8 ) couleur = "#AAFFAA";
else couleur = "#EEEE88";
Re: Affichage "aléatoire" des pages HTML
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.
@+
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.
@+
Re: Affichage "aléatoire" des pages HTML
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.
@+
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.
@+
Sujets similaires
» Nombre aléatoire en HTML ou JS
» Mon code HTML ne veut pas fonctionner sur mon gestionnaire de pages HTML
» Fond aléatoire pour toutes les pages
» Gestion des Pages HTML, le HTML ne fonctionne pas..
» pages d'acceuil en pages HTML
» Mon code HTML ne veut pas fonctionner sur mon gestionnaire de pages HTML
» Fond aléatoire pour toutes les pages
» Gestion des Pages HTML, le HTML ne fonctionne pas..
» pages d'acceuil en pages HTML
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum