Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
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
Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Bonjour à toutes et à tous^^
Alors voilà, je vous expose mon besoin.
Je suis fondateur d'un forum de jeu de rôle. Sur ce forum, il y a différentes factions.
L'idée de base, ce serait que les effectifs de chaque faction s'affichent automatiquement sur l'image d'accueil, à des endroits que j'aurais "mappé" (ça, je gère).
Là où je bloque, c'est pour trouver le code pour que ça se fasse. D'après vous, serait ce possible? Et si oui, comment?
A savoir: je suis en phpBB2, et l'image d'accueil possède des liens créés par "mappage" en HTML.
Voici le lien de mon forum:
http://rpgssmondedestenebre.forumsgratuits.fr/
Merci par avance.
Cordialement,
Dnumroj
EDIT: Sinon, je pensai à une solution de contournement, que je ne saurai pas faire non plus:(
Ce serait un script qui indique le nombre de sujet créé dans un sujet en particulier sur l'image (dans mon forum, on a un forum caché aux membres qui ne font pas parti du staff, et dans lequel on répertorie tous les membres en fonction de leur faction).
EDIT 2:
Pour le formulaire, j'ai farfouillé un peu partout, et j'ai pu créer ceci:
Maintenant, ce qu'il me reste à faire, c'est de:
•Trouver où insérer ce formulaire pour qu'on puisse le remplir seulement dans le forum caché réservé au staff du forum.
•Trouver comment faire en sorte que les informations transmises par ce formulaire se répercutent sur l'image d'accueil (la zone mappée), et dans un autre sujet.=> Utilisation de if et else
•M'assurer qu'on puisse modifier le formulaire par la suite (en cas de départ d'un membre, ou de sa migration).
Alors voilà, je vous expose mon besoin.
Je suis fondateur d'un forum de jeu de rôle. Sur ce forum, il y a différentes factions.
L'idée de base, ce serait que les effectifs de chaque faction s'affichent automatiquement sur l'image d'accueil, à des endroits que j'aurais "mappé" (ça, je gère).
Là où je bloque, c'est pour trouver le code pour que ça se fasse. D'après vous, serait ce possible? Et si oui, comment?
A savoir: je suis en phpBB2, et l'image d'accueil possède des liens créés par "mappage" en HTML.
Voici le lien de mon forum:
http://rpgssmondedestenebre.forumsgratuits.fr/
Merci par avance.
Cordialement,
Dnumroj
EDIT: Sinon, je pensai à une solution de contournement, que je ne saurai pas faire non plus:(
Ce serait un script qui indique le nombre de sujet créé dans un sujet en particulier sur l'image (dans mon forum, on a un forum caché aux membres qui ne font pas parti du staff, et dans lequel on répertorie tous les membres en fonction de leur faction).
EDIT 2:
Pour le formulaire, j'ai farfouillé un peu partout, et j'ai pu créer ceci:
- Code:
<HTML>
<style>
form {
margin: 0 auto;
width: 455px;
padding: 1em;
border: 1px solid #CCC;
border-radius: 1em;
}
form div + div {
margin-top: 1em;
}
label {
display: inline-block;
width: 450px;
height: 20px;
text-align: left;
font-family: Arial;
color: #4f4f4f;
font-size: 12pt;
}
input, textarea {
font: 1em arial;
font-size: 12pt;
width: 250px;
height: 20px;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #CCC;
}
input:focus, textarea:focus {
border-color: #000;
}
textarea {
vertical-align: top;
height: 150px;
}
</style>
<form class="form" method="post" action="/post" name="formulaire" enctype="multipart/form-data" onsubmit="envoiMessage(this);">
<input type="hidden" name="lt" value="0" />
<input type="hidden" name="mode" value="newtopic" />
<input type="hidden" name="auth[]" value="" />
<input type="hidden" name="topictype" value="0" />
<input type="hidden" name="message" value="" />
<input type="hidden" name="f" value="196" />
<p> <blockquote><label for="Titre">Titre :</label><input type="text" name="subject" id="titre" value="[Rang]Pseudo du armure"/></p>
<H1><center><B><U>Nouveau Membre</U></B></center></H1>
<p><blockquote>
<label for="Nom">Nom :</label><input tabindex=”1” id="Nom" name="Nom" />
</p>
<p><blockquote>
<label for="Prenom">Prénom :</label><input tabindex=”2” id="Prenom" name="Prenom" />
</p>
<p><blockquote>
<label for="Pseudo">Pseudo :</label><input tabindex=”4” id="Pseudo" name="Pseudo" />
</p>
<p><blockquote>
<label for="Faction">Faction:</label> <select name="Faction"><option value="Athena">Athéna</option>
<option>Poséidon</option>
<option>Odin</option>
<option>Hadès</option>
<option>Eris</option>
<option>Loki</option>
<option selected>Neutre</option>
<option>PNJ</option>
</select>
</p>
<p><blockquote>
<label for="Armure">Armure :</label><input tabindex=”5” id="Armure" name="Armure" />
</p>
<p><blockquote>
<label for="Rang">Rang:</label> <select name="rang"><option value="Gold">Gold</option>
<option>Silver</option>
<option>Bronze</option>
<option selected>Apprenti</option>
<option>Renégat</option>
<option>PNJ</option>
</select>
</p>
<p><blockquote>
<label for="Obtention">Obtention:</label> <select name="Obtention"><option> Oui</option>
<option selected>Non</option>
</select>
</p>
<p><hr>
</p>
<p>
<center><input tabindex=”6” value="Envoyer" type="submit" /></center>
</p>
<p>
<center><INPUT tabindex=”7” type="reset"></center>
</p>
</form>
</HTML>
Maintenant, ce qu'il me reste à faire, c'est de:
•Trouver où insérer ce formulaire pour qu'on puisse le remplir seulement dans le forum caché réservé au staff du forum.
•Trouver comment faire en sorte que les informations transmises par ce formulaire se répercutent sur l'image d'accueil (la zone mappée), et dans un autre sujet.=> Utilisation de if et else
•M'assurer qu'on puisse modifier le formulaire par la suite (en cas de départ d'un membre, ou de sa migration).
Dernière édition par Dnumroj le Lun 2 Nov 2015 - 8:33, édité 3 fois
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Salut Dnumroj,
Je ne vais pas avoir le temps de t'aider pas à pas mais je vais te donner des pistes pour te permettre de faire ce que tu veux :
1) La fonction .load() de jquery : http://api.jquery.com/load/
avec lancement d'une fonction à l'issue du load
2) Utilisation d'un .length sur les a.gen de la liste des membres dans un groupe après avoir récupéré la page
3) L'utilisation d'un tableau javascript : http://www.w3schools.com/js/js_arrays.asp
Voir en particulier la partie Looping Array Elements
4) Utile à savoir : La function sera appelée dans la boucle "for" mais écrite en dehors de cette boucle en utilisant les variables correspondantes.
C'est un piège auquel je me suis faite avoir, si tu l'écris dans la boucle for comme on est tenté de le faire la boucle continue même si la partie de la page voulue n'est pas entièrement chargée et tu peux te retrouver avec toutes tes valeurs voulues à la fin.
Exemple :
On va se servir de tout ça pour :
1) appeler une page d'un groupe
2) Calculer combien il y a de membres dans le groupe
3) Automatiser la fonction pour ne pas réécrire le code pour chaque groupe, ce qui serait fastidieux si tu en as beaucoup.
L'étape d'automatisation est optionnelle si tu as du mal avec elle, tu peux écrire la fonction pour chaque groupe même si ce sera laborieux (en clair : tu peux te passer d'utiliser un array et une boucle for, mais ça te fera beaucoup de code presque identique à écrire !)
Voilà, ça devrait t'aider quand même
ps : Bien sûr le mieux est que tu commences pour juste un groupe avant de te préoccuper d'automatiser la fonction
Je ne vais pas avoir le temps de t'aider pas à pas mais je vais te donner des pistes pour te permettre de faire ce que tu veux :
1) La fonction .load() de jquery : http://api.jquery.com/load/
avec lancement d'une fonction à l'issue du load
2) Utilisation d'un .length sur les a.gen de la liste des membres dans un groupe après avoir récupéré la page
3) L'utilisation d'un tableau javascript : http://www.w3schools.com/js/js_arrays.asp
Voir en particulier la partie Looping Array Elements
4) Utile à savoir : La function sera appelée dans la boucle "for" mais écrite en dehors de cette boucle en utilisant les variables correspondantes.
C'est un piège auquel je me suis faite avoir, si tu l'écris dans la boucle for comme on est tenté de le faire la boucle continue même si la partie de la page voulue n'est pas entièrement chargée et tu peux te retrouver avec toutes tes valeurs voulues à la fin.
Exemple :
- Code:
var index;
var fruits = ["Banana", "Orange", "Apple", "Mango"];
for (index = 0; index < fruits.length; index++) {
function truc(index, fruits[index]);
}
function truc(index, fruits[index]){
les trucs à faire dans la fonction
}
On va se servir de tout ça pour :
1) appeler une page d'un groupe
2) Calculer combien il y a de membres dans le groupe
3) Automatiser la fonction pour ne pas réécrire le code pour chaque groupe, ce qui serait fastidieux si tu en as beaucoup.
L'étape d'automatisation est optionnelle si tu as du mal avec elle, tu peux écrire la fonction pour chaque groupe même si ce sera laborieux (en clair : tu peux te passer d'utiliser un array et une boucle for, mais ça te fera beaucoup de code presque identique à écrire !)
Voilà, ça devrait t'aider quand même
ps : Bien sûr le mieux est que tu commences pour juste un groupe avant de te préoccuper d'automatiser la fonction
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Super^^
Je te remercie infiniment pour ces astuces, Evaliah, car je ne voyait pas trop comment m'y prendre^^
Je m'y met de suite
EDIT:
Bon, alors, pour la fonction load, je pense avoir bien saisi, mais je suis complètement largué pour la fonction length et a.gen. (j'ai lu et relu les cours openclassroom, mais ça reste très obscur pour moi^^
Par contre, en cherchant de nouveaux tutos sur l'ajax, je suis tombé là dessus:
http://www.jmdoudoux.fr/java/dej/chap-ajax.htm#ajax-1
On y parle de DWR, et les exemples donnés semblent aller dans le sens de ce que je recherche, en fait, mais qu'en pensez vous, svp?
EDIT 2: Hier j'avais pas les yeux en face des trous, je pense que je commence à mieux comprendre^^
Je te remercie infiniment pour ces astuces, Evaliah, car je ne voyait pas trop comment m'y prendre^^
Je m'y met de suite
EDIT:
Bon, alors, pour la fonction load, je pense avoir bien saisi, mais je suis complètement largué pour la fonction length et a.gen. (j'ai lu et relu les cours openclassroom, mais ça reste très obscur pour moi^^
Par contre, en cherchant de nouveaux tutos sur l'ajax, je suis tombé là dessus:
http://www.jmdoudoux.fr/java/dej/chap-ajax.htm#ajax-1
On y parle de DWR, et les exemples donnés semblent aller dans le sens de ce que je recherche, en fait, mais qu'en pensez vous, svp?
EDIT 2: Hier j'avais pas les yeux en face des trous, je pense que je commence à mieux comprendre^^
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Voilà, j'ai tenté un petit truc, grâce au lien que tu m'as donné^^
Voici le code qui irait donc dans la partie mappé de la page d'accueil:
Et le formulaire HTML donnerait ceci:
Suis je sur la bonne voie, svp?
Voici le code qui irait donc dans la partie mappé de la page d'accueil:
- Code:
[...]
<p id=athena></p>
<SCRIPT>
$("#eathena").load("formulaire.html#Faction");
if(eathena="Athena"){
var efAthena=undefined
function efAthena(athena){
return athena ++
}
onchange="function efAthena(athena){
return athena-1
}
document.getElementById("athena).innerHTML=efAthena
}else{
var efAthena=athena
document.getElementById("athena).innerHTML=efAthena
}
</SCRIPT>
[...]
Et le formulaire HTML donnerait ceci:
- Code:
<HTML>
<style>
form {
margin: 0 auto;
width: 455px;
padding: 1em;
border: 1px solid #CCC;
border-radius: 1em;
}
form div + div {
margin-top: 1em;
}
label {
display: inline-block;
width: 450px;
height: 20px;
text-align: left;
font-family: Arial;
color: #4f4f4f;
font-size: 12pt;
}
input, textarea {
font: 1em arial;
font-size: 12pt;
width: 250px;
height: 20px;
-moz-box-sizing: border-box;
box-sizing: border-box;
border: 1px solid #CCC;
}
input:focus, textarea:focus {
border-color: #000;
}
textarea {
vertical-align: top;
height: 150px;
}
</style>
<form class="form" method="post" action="/post" name="formulaire" enctype="multipart/form-data" onsubmit="envoiMessage(this);">
<input type="hidden" name="lt" value="0" />
<input type="hidden" name="mode" value="newtopic" />
<input type="hidden" name="auth[]" value="" />
<input type="hidden" name="topictype" value="0" />
<input type="hidden" name="message" value="" />
<input type="hidden" name="f" value="196" />
<p> <blockquote><label for="Titre">Titre :</label><input type="text" name="subject" id="titre" value="[Rang]Pseudo du armure"/></p>
<H1><center><B><U>Nouveau Membre</U></B></center></H1>
<p><blockquote>
<label for="Nom">Nom :</label><input tabindex=”1” id="Nom" name="Nom" />
</p>
<p><blockquote>
<label for="Prenom">Prénom :</label><input tabindex=”2” id="Prenom" name="Prenom" />
</p>
<p><blockquote>
<label for="Pseudo">Pseudo :</label><input tabindex=”4” id="Pseudo" name="Pseudo" />
</p>
<p><blockquote>
<label for="Faction">Faction:</label> <select name="Faction" id=”Faction” ><option>Athena</option>
<option>Poseidon</option>
<option>Odin</option>
<option>Hades</option>
<option>Eris</option>
<option>Loki</option>
<option selected>Apprenti</option>
<option >Renegat</option>
<option>PNJ</option>
<option>Inactifs</option>
</select>
</p>
<p><blockquote>
<label for="Armure">Armure :</label><input tabindex=”5” id="Armure" name="Armure" />
</p>
<p><blockquote>
<label for="Rang">Rang:</label> <select name="rang" id=”Rang” ><option >Gold</option>
<option>Silver</option>
<option>Bronze</option>
<option selected>Apprenti</option>
<option>Renégat</option>
<option>PNJ</option>
</select>
</p>
<p><blockquote>
<label for="Obtention">Obtention:</label> <select name="Obtention" id=”Obtention”><option> Oui</option>
<option selected>Non</option>
</select>
</p>
<p><hr>
</p>
<p>
<center><input tabindex=”6” value="Envoyer" type="submit" /></center>
</p>
<p>
<center><INPUT tabindex=”7” type="reset"></center>
</p>
</form>
</HTML>
Suis je sur la bonne voie, svp?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Yop !
Je ne comprends pas bien l'intérêt de ton formulaire du coup, si le but est d'avoir les effectifs des membres de chaque groupe sur la page d'accueil pourquoi ne pas appeler la page correspondant aux effectifs d'un groupe ?
Comme l'information existe déjà sur la page de groupe pourquoi ne pas la prendre à la source ? En effet cette page (groupe) se modifie d'elle-même selon les entrées-sorties dans un groupe donc difficile d'être plus à jour !
A moins que je n'aie pas compris ce que tu voulais faire exactement ?
Je ne comprends pas bien l'intérêt de ton formulaire du coup, si le but est d'avoir les effectifs des membres de chaque groupe sur la page d'accueil pourquoi ne pas appeler la page correspondant aux effectifs d'un groupe ?
Comme l'information existe déjà sur la page de groupe pourquoi ne pas la prendre à la source ? En effet cette page (groupe) se modifie d'elle-même selon les entrées-sorties dans un groupe donc difficile d'être plus à jour !
A moins que je n'aie pas compris ce que tu voulais faire exactement ?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
En fait, ce serait l'idée de base (et ça me simplifierait la vie)^^
Je suis parti sur le formulaire, car je ne sais pas où trouver les membres d'un groupe.
Mais du coup, la page à appeler, c'est quoi?
Je pense avoir trouvé "memberrow.GROUPS", dans "memberlist_body"... La page à appeler serait donc memberlist_body?
Je suis parti sur le formulaire, car je ne sais pas où trouver les membres d'un groupe.
Mais du coup, la page à appeler, c'est quoi?
Je pense avoir trouvé "memberrow.GROUPS", dans "memberlist_body"... La page à appeler serait donc memberlist_body?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Eh bien la page d'un groupe ça va par exemple ici être :
https://forum.forumactif.com/g497-moderactifs-moderactives
Mais tu peux la simplifier en /g497- tant que tu utilises le js sur le même forum.
Par exemple ton petit bout de js appelant cette page serait :
Sachant que tu n'as pas besoin de charger l'entièreté de la page, le tableau suffit, donc tu peux faire par exemple :
Il faut tout simplement que tu ailles dans les groupes de ton forum, tu trouveras les g + chiffre/nombre correspondant à tes groupes
https://forum.forumactif.com/g497-moderactifs-moderactives
Mais tu peux la simplifier en /g497- tant que tu utilises le js sur le même forum.
Par exemple ton petit bout de js appelant cette page serait :
- Code:
$(".truc").load("/g497-", function(){
ta fonction à exécuter une fois la page chargée
});
Sachant que tu n'as pas besoin de charger l'entièreté de la page, le tableau suffit, donc tu peux faire par exemple :
- Code:
$(".truc").load('/g497- form[name="post"]', function(){
ta fonction à exécuter une fois la page chargée
});
Il faut tout simplement que tu ailles dans les groupes de ton forum, tu trouveras les g + chiffre/nombre correspondant à tes groupes
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Yop, merci encore pour ton aide précieuse^^
Du coup, pour le chargement de la page, je vois, grâce à ton explication comment faire, no soucy^^
En revanche, je bloque sur 2 points, maintenant :/
Le premier, c'est comment passer d'une liste de membre à un nombre de membres.
Le second, c'est comment transformer chaque ligne du tableau en une seule et unique variable.
L'idée étant que seul l'effectif du groupe apparaisse (en gros, s'il y a un membre, il apparaisse 1. S'il y en a 20, apparaisse 20).
Je cogite pour le moment sur:
http://rpgssmondedestenebre.forumsgratuits.fr/g10-apprentis
Sur lequel on a deux tableaux. Le premier qui indique que j'en suis modérateur, et le second qui affiche les membres du groupe.
Il me faut donc trouver un moyen de ne prendre que le second tableau pour compter les membres.
C'est là où je bloque.
J'ai fini cependant par tomber là dessus dans "memberlist_body" (Pnx adm/affichage/template/Général)
Dans lequel on trouve le CSS suivant:
Pour ce qui est de mon souci, je pense que ce qui importe est cette partie là:
Si je devais cibler, je dirais même:
Mais je bloque.
Du coup, pour le chargement de la page, je vois, grâce à ton explication comment faire, no soucy^^
En revanche, je bloque sur 2 points, maintenant :/
Le premier, c'est comment passer d'une liste de membre à un nombre de membres.
Le second, c'est comment transformer chaque ligne du tableau en une seule et unique variable.
L'idée étant que seul l'effectif du groupe apparaisse (en gros, s'il y a un membre, il apparaisse 1. S'il y en a 20, apparaisse 20).
Je cogite pour le moment sur:
http://rpgssmondedestenebre.forumsgratuits.fr/g10-apprentis
Sur lequel on a deux tableaux. Le premier qui indique que j'en suis modérateur, et le second qui affiche les membres du groupe.
Il me faut donc trouver un moyen de ne prendre que le second tableau pour compter les membres.
C'est là où je bloque.
J'ai fini cependant par tomber là dessus dans "memberlist_body" (Pnx adm/affichage/template/Général)
Dans lequel on trouve le CSS suivant:
- Code:
<form action="{S_MODE_ACTION}" method="get">
<table cellspacing="0" cellpadding="5" border="0" align="center" class="forumline" width="100%">
<tr>
<th class="thTop" nowrap="nowrap">{L_ORDER_OR_SELECT}</th>
</tr>
<tr>
<td class="row1">
<table cellspacing="2" cellpadding="0" border="0" align="center" class="genmed">
<tr>
<td width="100%">{L_USER_SELECT} <input type="text" class="post" name="username" maxlength="25" size="20" value="{L_USER_SELECT_VALUE}" />
{L_SELECT_SORT_METHOD} {S_MODE_SELECT}
{L_ORDER} {S_ORDER_SELECT}
{S_HIDDEN_SID}
<input class="liteoption" type="submit" name="submit" value="{L_SUBMIT}" /></td>
</tr>
</table>
</td>
</tr>
</table>
</form>
<table class="forumline" width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<th class="thCornerL" nowrap="nowrap" height="25">#</th>
<th class="thTop" nowrap="nowrap">{L_AVATAR}</th>
<th class="thTop" nowrap="nowrap">{L_USERNAME}</th>
<!-- BEGIN switch_th_group -->
<th class="thTop" nowrap="nowrap">{L_GROUPS}</th>
<!-- END switch_th_group -->
<th class="thTop" nowrap="nowrap">{L_INTERESTS}</th>
<th class="thTop" nowrap="nowrap">{L_JOINED}</th>
<th class="thTop" nowrap="nowrap">{L_VISITED}</th>
<th class="thTop" nowrap="nowrap">{L_POSTS}</th>
<th class="thTop" nowrap="nowrap">{L_PM}</th>
<th class="thCornerR" nowrap="nowrap">{L_WEBSITE}</th>
</tr>
<!-- BEGIN memberrow -->
<tr>
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"> {memberrow.ROW_NUMBER} </span></td>
<td class="{memberrow.ROW_CLASS}" align="center"><div class="avatar mini"><a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG}</a></div></td>
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"><a class="gen" href="{memberrow.U_VIEWPROFILE}">{memberrow.USERNAME}</a></span></td>
<!-- BEGIN switch_td_group -->
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen">{memberrow.GROUPS}</span></td>
<!-- END switch_td_group -->
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.INTERESTS}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.JOINED}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.LASTVISIT}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.PM_IMG} </td>
<td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.WWW_IMG} </td>
</tr>
<!-- END memberrow -->
<!-- BEGIN switch_no_user -->
<tr>
<td class="catBottom" colspan="{switch_no_user.COLSPAN_NUMBER}" height="28" align="center"><span class="gensmall">{switch_no_user.L_NO_USER}</span></td>
</tr>
<!-- END switch_no_user -->
</table>
<!-- BEGIN switch_pagination -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><span class="nav">{PAGE_NUMBER}</span></td>
<td align="right"><span class="nav">{PAGINATION}</span></td>
</tr>
</table>
<br />
<!-- END switch_pagination -->
Pour ce qui est de mon souci, je pense que ce qui importe est cette partie là:
- Code:
<!-- BEGIN memberrow -->
<tr>
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"> {memberrow.ROW_NUMBER} </span></td>
<td class="{memberrow.ROW_CLASS}" align="center"><div class="avatar mini"><a href="{memberrow.U_VIEWPROFILE}">{memberrow.AVATAR_IMG}</a></div></td>
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"><a class="gen" href="{memberrow.U_VIEWPROFILE}">{memberrow.USERNAME}</a></span></td>
<!-- BEGIN switch_td_group -->
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen">{memberrow.GROUPS}</span></td>
<!-- END switch_td_group -->
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.INTERESTS}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.JOINED}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gensmall">{memberrow.LASTVISIT}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center" valign="middle"><span class="gen">{memberrow.POSTS}</span></td>
<td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.PM_IMG} </td>
<td class="{memberrow.ROW_CLASS}" align="center"> {memberrow.WWW_IMG} </td>
</tr>
<!-- END memberrow -->
<!-- BEGIN switch_no_user -->
<tr>
<td class="catBottom" colspan="{switch_no_user.COLSPAN_NUMBER}" height="28" align="center"><span class="gensmall">{switch_no_user.L_NO_USER}</span></td>
</tr>
<!-- END switch_no_user -->
Si je devais cibler, je dirais même:
- Code:
<td class="{memberrow.ROW_CLASS}" align="center"><span class="gen"> {memberrow.ROW_NUMBER} </span></td>
Mais je bloque.
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Hello
Alors déjà ne te soucie pas de ta ligne de modérateur, il te suffira de soustraire 1 à ton nombre de membres obtenus et ce sera très bien sans te compliquer la vie plus que ça
Ensuite si tu n'as pas changé ton template il faut que tu te souviennes de ce que je t'avais dit en 2) :
Utilisation d'un .length sur les a.gen de la liste des membres dans un groupe après avoir récupéré la page
Si tu as eu la curiosité de regarder à quoi rimait le .length tu auras vu qu'il permet de compter le nombre d'éléments présents quelque part.
https://api.jquery.com/length/
Dans ton template tu remarques comme je te l'avais signalé que seuls les noms des membres peuvent être appelés par un a.gen , les autres données n'en sont pas.
Donc si tu les comptes tu auras bien ton nombre de membres et à moins d'avoir touché à ton template pour le modérateur il te suffira de retirer un à la variable obtenue
Tu vas y arriver tu y es presque !
Alors déjà ne te soucie pas de ta ligne de modérateur, il te suffira de soustraire 1 à ton nombre de membres obtenus et ce sera très bien sans te compliquer la vie plus que ça
Ensuite si tu n'as pas changé ton template il faut que tu te souviennes de ce que je t'avais dit en 2) :
Utilisation d'un .length sur les a.gen de la liste des membres dans un groupe après avoir récupéré la page
Si tu as eu la curiosité de regarder à quoi rimait le .length tu auras vu qu'il permet de compter le nombre d'éléments présents quelque part.
https://api.jquery.com/length/
Dans ton template tu remarques comme je te l'avais signalé que seuls les noms des membres peuvent être appelés par un a.gen , les autres données n'en sont pas.
Donc si tu les comptes tu auras bien ton nombre de membres et à moins d'avoir touché à ton template pour le modérateur il te suffira de retirer un à la variable obtenue
Tu vas y arriver tu y es presque !
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Effectivement, je comprends mieux^^
J'avais mal compris le lenght. Je pensais qu'il compterait que les caractères, donc je voyais pas trop comment l'utiliser^^
Du coup, je me replonge la dedans
Merci beaucoup^^
J'avais mal compris le lenght. Je pensais qu'il compterait que les caractères, donc je voyais pas trop comment l'utiliser^^
Du coup, je me replonge la dedans
Merci beaucoup^^
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Yop^^
Je me suis donc re penché sur mon souci.
Mais il apparait que g10 est la page pour toutes mes factions. Donc, logiqueement, si je fais un load("/g10-"), j'aurai tout les membres du forum qui s'afficheront, non?
Me basant là dessus, j'ai eu l'idée de ce script:
Et pour ma faction:
J'ai bon (pour la fonction for, je pense qu'elle est inutile, puisque les factions se mettent automatiquement à jour)?
Je me suis donc re penché sur mon souci.
Mais il apparait que g10 est la page pour toutes mes factions. Donc, logiqueement, si je fais un load("/g10-"), j'aurai tout les membres du forum qui s'afficheront, non?
Me basant là dessus, j'ai eu l'idée de ce script:
- Code:
<p id=apprenti></p>
<SCRIPT>
$("a.gen").load("g10-apprenti form [name='post']", function(document.getElementById("apprenti").innerHTML=a.gen.lenght-1);
</SCRIPT>
Et pour ma faction:
- Code:
<p id=loki></p>
<SCRIPT>
$("a.gen").load("g10-arcanes form [name='post']", function(document.getElementById("loki").innerHTML=a.gen.lenght);
</SCRIPT>
J'ai bon (pour la fonction for, je pense qu'elle est inutile, puisque les factions se mettent automatiquement à jour)?
Dernière édition par Dnumroj le Mer 28 Oct 2015 - 11:37, édité 2 fois
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Me revoilà !
Mais pourquoi ne fais-tu pas un groupe par faction ? FA permet de faire plein de groupes donc c'est ce qui serait le plus rationnel non ?
Mais pourquoi ne fais-tu pas un groupe par faction ? FA permet de faire plein de groupes donc c'est ce qui serait le plus rationnel non ?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Comment ça?
C'est pas ce que je fais?
Ca, c'est une des faction.
Et ça une seconde.
Je suis perdu
Que me manque t il? Le code actuel, quel est son effet, svp?
A mon sens, il va chercher dans la page des différents groupe (apprenti, arcanes, ...) la liste des membre, et les additionner pour afficher le tout dans le html.
C'est pas ce que je fais?
- Code:
<p id=apprenti></p>
Ca, c'est une des faction.
- Code:
<p id=loki></p>
Et ça une seconde.
Je suis perdu
Que me manque t il? Le code actuel, quel est son effet, svp?
A mon sens, il va chercher dans la page des différents groupe (apprenti, arcanes, ...) la liste des membre, et les additionner pour afficher le tout dans le html.
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Yop,
Dans ton message précédent tu as marqué ceci :
Ce qui veut donc dire que tu n'as pas une page différente par groupe, si ?
Dans ton message précédent tu as marqué ceci :
Mais il apparait que g10 est la page pour toutes mes factions. Donc, logiqueement, si je fais un load("/g10-"), j'aurai tout les membres du forum qui s'afficheront, non?
Ce qui veut donc dire que tu n'as pas une page différente par groupe, si ?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Au moment où j'avais posté, je voyais tous mes groupes en g10. Aujourd'hui, ils sont tous différents ><
Pas assez de caféine ou de sommeil... Ou bien un bug passager, je sais pas :$
Du coup, je dois changer:
Par
Pas assez de caféine ou de sommeil... Ou bien un bug passager, je sais pas :$
Du coup, je dois changer:
- Code:
$("a.gen").load("g10-arcanes form [name='post']", function(document.getElementById("loki").innerHTML=a.gen.lenght);
Par
- Code:
$("a.gen").load("g8 form [name='post']", function(document.getElementById("loki").innerHTML=a.gen.lenght);
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Alors ce n'est pas tout à fait ça en fait.
Tu peux reprendre le bout de code que je t'avais montré :
Attention au début. Mon .truc c'est l'endroit où va se charger la page /g497- dans la page sur laquelle on se trouve (page d'accueil dans ton cas).
Autrement dit le formulaire ayant pour nom "post" dans la page /g497- va se charger dans mon élément de class "truc" de ma page d'accueil.
Si tu fais comme tu l'as mis tu vas charger ta page dans tous les a.gen que la fonction va trouver sur ta page d'accueil... Et ce n'est pas du tout ce que tu veux !
Du coup tu dois remplacer mon ".truc" par ce qui va correspondre à l'endroit où tu veux charger la page.
(donc par un élément qui sera uniquement utilisé pour le groupe ciblé, ici le groupe g497)
Attention également à la dénomination de la page de groupe. Il ne faut pas oublier le - qui suit le nombre car sinon ça ne marchera généralement pas.
Est-ce que ça te semble plus clair avec ces explications ?
Tu peux reprendre le bout de code que je t'avais montré :
- Code:
$(".truc").load('/g497- form[name="post"]', function(){
ta fonction à exécuter une fois la page chargée
});
Attention au début. Mon .truc c'est l'endroit où va se charger la page /g497- dans la page sur laquelle on se trouve (page d'accueil dans ton cas).
Autrement dit le formulaire ayant pour nom "post" dans la page /g497- va se charger dans mon élément de class "truc" de ma page d'accueil.
Si tu fais comme tu l'as mis tu vas charger ta page dans tous les a.gen que la fonction va trouver sur ta page d'accueil... Et ce n'est pas du tout ce que tu veux !
Du coup tu dois remplacer mon ".truc" par ce qui va correspondre à l'endroit où tu veux charger la page.
(donc par un élément qui sera uniquement utilisé pour le groupe ciblé, ici le groupe g497)
Attention également à la dénomination de la page de groupe. Il ne faut pas oublier le - qui suit le nombre car sinon ça ne marchera généralement pas.
Est-ce que ça te semble plus clair avec ces explications ?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Mmmh... Je suis pas sûr, donc je préfère vérifier^^
Si on reprend mon premier code, on aurait donc:
C'est bien ça?
En gros, on chargerait la partie du formulaire posté de la page g10 dans la balise portant l'id apprenti de la page actuelle, en additionnant les valeurs, et en soustrayant 1 au résultat affiché?
Par contre, la fonction getElementById est bien nécessaire dans ce cas?
Si on reprend mon premier code, on aurait donc:
- Code:
<p id=apprenti></p>
<SCRIPT>
$("apprenti").load("g10- form [name='post']", function(document.getElementById("apprenti").innerHTML=a.gen.lenght-1));
</SCRIPT>
C'est bien ça?
En gros, on chargerait la partie du formulaire posté de la page g10 dans la balise portant l'id apprenti de la page actuelle, en additionnant les valeurs, et en soustrayant 1 au résultat affiché?
Par contre, la fonction getElementById est bien nécessaire dans ce cas?
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Alors toi tu vas charger ta page dans un paragraphe dont l'id est apprenti. Un id est noté en js avec un # devant comme dans une css, donc n'oublie pas le # avant ton nom d'id dans ton js
Ensuite attention à la façon dont tu charges ta fonction, encore une fois regarde bien le code que je t'ai mis en exemple :
une fonction c'est :
Concernant le
Comme tu ne précises pas quels a.gen tu veux précisément il va te prendre ceux de toute la page.
Or toi tu ne veux que ceux qui seront chargés dans ton paragraphe #apprenti.
Il faut aussi savoir que jquery permet une syntaxe plus simple pour définir le contenu html d'un élément :
Ici ta valeur ça va donc être le nombre de a.gen que tu auras chargés dans ton #apprenti.
C'est à dire :
Attention également à l'endroit où tu mets ton nombre obtenu.
En faisant comme tu l'as fait tu ne pourras pas vérifier directement que ta page s'est bien chargée, puisque le contenu du paragraphe où tu as chargé la page sera remplacé par le compte.
Il peut donc être préférable de charger par exemple la page dans une div d'id #apprenti_groupe et de mettre la valeur obtenue dans ton #apprenti de départ.
Ensuite attention à la façon dont tu charges ta fonction, encore une fois regarde bien le code que je t'ai mis en exemple :
- Code:
$(".truc").load('/g497- form[name="post"]', function(){
ta fonction à exécuter une fois la page chargée
});
une fonction c'est :
- Code:
function() {}
Concernant le
- Code:
document.getElementById("apprenti").innerHTML=a.gen.lenght-1
Comme tu ne précises pas quels a.gen tu veux précisément il va te prendre ceux de toute la page.
Or toi tu ne veux que ceux qui seront chargés dans ton paragraphe #apprenti.
Il faut aussi savoir que jquery permet une syntaxe plus simple pour définir le contenu html d'un élément :
- Code:
$("#apprenti").html(valeur);
Ici ta valeur ça va donc être le nombre de a.gen que tu auras chargés dans ton #apprenti.
C'est à dire :
- Code:
$("#apprenti a.gen").length-1
Attention également à l'endroit où tu mets ton nombre obtenu.
En faisant comme tu l'as fait tu ne pourras pas vérifier directement que ta page s'est bien chargée, puisque le contenu du paragraphe où tu as chargé la page sera remplacé par le compte.
Il peut donc être préférable de charger par exemple la page dans une div d'id #apprenti_groupe et de mettre la valeur obtenue dans ton #apprenti de départ.
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
J'avoue que je me sens un peu largué là
Si j'ai bien compris, le code serait:
Car:
• La balise div est préférable pour le chargement de pages.
• Toutes les id sont précédées du "#" en js
• Ne pas oublier les "{}" d'une fonction js
• Le mieux est de séparer l'endroit où la page est chargée de l'endroit où s'affiche notre valeur
• Afficher un élément peut se simplifier par
En tout cas, je te remercie mille fois, car je débute avec js que depuis le 5 octobre, et grâce à toi, j'appréhende mieux, je pense ce codage^^
Si j'ai bien compris, le code serait:
- Code:
<div id=apprenti_group>
<p id=apprenti></p>
</div>
<SCRIPT>
$("#apprenti_group").load("g10- form [name='post']", function(){
$("#apprenti a.gen").lenght-1
};
</SCRIPT>
Car:
• La balise div est préférable pour le chargement de pages.
• Toutes les id sont précédées du "#" en js
• Ne pas oublier les "{}" d'une fonction js
• Le mieux est de séparer l'endroit où la page est chargée de l'endroit où s'affiche notre valeur
• Afficher un élément peut se simplifier par
- Code:
$(id).html (valeur)
- Code:
$(#"apprenti").(a.gen.lenght-1)
En tout cas, je te remercie mille fois, car je débute avec js que depuis le 5 octobre, et grâce à toi, j'appréhende mieux, je pense ce codage^^
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Courage tu vas bientôt saisir toutes les clefs de ce code !
Donc :
1) Tu ne dois pas inclure ton paragraphe #apprenti dans ta div #apprenti_group car quand tu auras réussi à faire ce que tu veux tu mettras un display none pour ta div afin que les utilisateurs ne voient que le chiffre que tu auras récupéré
(Donc tu peux tout simplement mettre ton paragraphe après ta div par exemple, mais pas dedans)
2) Comme je l'ai expliqué ceci :
Mais attention, tu dois récupérer les a.gen qui sont dans ta div et non dans ton paragraphe, puisque tu auras chargé ta portion de page dans la div.
Ta div ayant pour id apprenti_group il faut donc que tu comptes le nombre de a.gen dans #apprenti_group et non dans #apprenti.
Il faut ensuite que tu places cette valeur dans ton paragraphe #apprenti.
Si c'est plus simple pour toi tu peux te servir d'une variable :
Et ensuite il ne te restera plus qu'à mettre cette variable dans le code que je t'ai donné :
Si tu as bien tout suivi le code final sera donc :
(je te le mets en spoiler pour que tu ne regardes que si tu ne comprends pas quelque chose)
Tu peux tester tu devrais voir un résultat probant
ps : Attention tu avais oublié de refermer la parenthèse du .load() !
Attention également quand tu attribues un id à un élément, c'est id="truc" avec les guillemets, ne les oublie pas
Donc :
1) Tu ne dois pas inclure ton paragraphe #apprenti dans ta div #apprenti_group car quand tu auras réussi à faire ce que tu veux tu mettras un display none pour ta div afin que les utilisateurs ne voient que le chiffre que tu auras récupéré
(Donc tu peux tout simplement mettre ton paragraphe après ta div par exemple, mais pas dedans)
2) Comme je l'ai expliqué ceci :
- Code:
$("#apprenti a.gen").lenght-1
Mais attention, tu dois récupérer les a.gen qui sont dans ta div et non dans ton paragraphe, puisque tu auras chargé ta portion de page dans la div.
Ta div ayant pour id apprenti_group il faut donc que tu comptes le nombre de a.gen dans #apprenti_group et non dans #apprenti.
Il faut ensuite que tu places cette valeur dans ton paragraphe #apprenti.
Si c'est plus simple pour toi tu peux te servir d'une variable :
- Code:
var n_apprenti = $("#apprenti_group a.gen").lenght-1;
Et ensuite il ne te restera plus qu'à mettre cette variable dans le code que je t'ai donné :
- Code:
$("#apprenti").html(n_apprenti);
Si tu as bien tout suivi le code final sera donc :
(je te le mets en spoiler pour que tu ne regardes que si tu ne comprends pas quelque chose)
- Code apprentis:
- Code:
<div id="apprenti_group"></div>
<p id="apprenti"></p>
<SCRIPT>
$("#apprenti_group").load("g10- form [name='post']", function(){
var n_apprenti = $("#apprenti_group a.gen").lenght-1;
$("#apprenti").html(n_apprenti);
});
</SCRIPT>
Tu peux tester tu devrais voir un résultat probant
ps : Attention tu avais oublié de refermer la parenthèse du .load() !
Attention également quand tu attribues un id à un élément, c'est id="truc" avec les guillemets, ne les oublie pas
Re: Afficher les effectifs d'un groupe automatiquement sur une image d'accueil.
Super, je comprends beaucoup mieux^^
En essayant de refaire le code sans regarder le spoiler, j'avais presque tout bon^^
Pour la variable, je pensais que je devais la mettre en dehors de la fonction^^
En tout cas, je te remercie beaucoup: sans ta précieuse aide, j'aurais probablement pas trouvé comment faire^^
En essayant de refaire le code sans regarder le spoiler, j'avais presque tout bon^^
Pour la variable, je pensais que je devais la mettre en dehors de la fonction^^
En tout cas, je te remercie beaucoup: sans ta précieuse aide, j'aurais probablement pas trouvé comment faire^^
Sujets similaires
» Insérer le nombre d'effectifs d'un groupe
» Ne plus afficher le modérateur du groupe sur la fiche du groupe ?
» afficher automatiquement le nom du membre qui fete son anniversaire
» Associer automatiquement un membre à un groupe
» attribuer automatiquement un groupe dés l’inscription
» Ne plus afficher le modérateur du groupe sur la fiche du groupe ?
» afficher automatiquement le nom du membre qui fete son anniversaire
» Associer automatiquement un membre à un groupe
» attribuer automatiquement un groupe dés l’inscription
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