| Petit complétage pour mon script qui compte les membres d'un groupe ♥ |
| Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Sam 31 Déc - 19:17 | C'est re-moi J'abuse je sais, pardonJ'avais demandé de l'aide pour mon script ici déjà, mais j'ai oublié de prendre un détail en considération dans ce que je voulais faire C't'à-dire que comme forumactif est relou, quand le nombre dépasse 10 il rajoute de la pagination sur la page de groupe et elle change donc d'url puisque "?start=10" se rajoute à la fin : et du coup le script ne compte pas au-delà de 10 membres. *rire nerveux* (exemple, dans mon groupe "Lémures" j'ai 19 membres, donc 2 pages : http://www.peekaboo-rpg.com/g3-lemures)J'ai essayé de voir pour retirer cette foutue pagination, ce qui serait l'idéal, mais je ne vois pas du tout comment je peux faire et sur forumactif personne ne me répond Du coup je me demandais s'il était possible de transformer le script pour qu'il prenne en considération la pagination. (Genre, je sais pas, en considérant l'url de la page + ses "dérivées" ?) Je sais pas si c'est possible Bref, si vous avez une idée, je suis preneuse |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Dim 1 Jan - 20:22 | Coucou !
Je ne pense pas qu'il soit possible de modifier la pagination...
J'ai peut être une idée, par contre, on va devoir modifier le script tout entier et jouer de mathématiques et de logique ! :p |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Lun 2 Jan - 10:17 | Re eheh Mais la pagination c'est tout pourri è_____é Azy je suis prête à faire des maths, j'ai un bac S et tout ! |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Lun 2 Jan - 13:27 | Ahah. Ca restera basique en maths hein xD.
J'ai trouvé comment faire. Mais le code ne fonctionne pas. J'ai demandé de l'aide pour voir comment régler mon pb de portée de variable sur des forums spécialisés, j'espère avoir une réponse rapidement... |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Mar 3 Jan - 11:46 | D'accord Pas de soucis j'attends, je suis censée réviser mes partiels de toute façon |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Mer 4 Jan - 19:36 | Oula, bon courage ahah ! Bon, j'ai une bonne et une mauvaise nouvelle... - La bonne nouvelle:
J'ai un code qui fonctionne ! C'est bon ! Les gens des forums spécialisés m'ont répondu, et m'ont donné la solution, ouf.
- La mauvaise nouvelle:
Le code est un peu compliqué, je comprends pas tout, donc je pourrai pas t'expliquer xD.
Are you ready to retrieve the code and to be marveled ? |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Mer 4 Jan - 22:35 | Ecoute je suis quand même preneuse, on va voir si c'est à ma portée quand même Si ça se trouve je suis plus intelligente que toi et que je vais tout comprendre |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Dim 8 Jan - 15:55 | Ok, si tu comprends n'hésite pas à me faire comprendre xD.
Bon, le code fonctionne, seulement j'essaie de l'adapter pour qu'il scanne tous les groupes (car là il n'en scanne qu'un seul :p) |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Dim 8 Jan - 17:10 | Bon en vrai je pense que je vais finir par copier-coller bêtement mais on sait jamais xD La dernière fois j'avais compris, quand même D'accord. Du coup je sais pas si c'est utile de le faire mais je reprécise pour pas que tu t'embêtes si jamais : il n'y a que les groupes Lémures, Zombies, Nécromanciens, Vampires et Chimères à prendre en compte (non parce qu'autrement j'ai jor une quinzaine d'autres groupes "invisibles" dont on se fout complètement niveau effectifs :'D) En attendant j'suis en train de regarder si la pagination se fait sous les autres versions proposées par forumactif, vu que moi je suis sous Invision mais sasstrouve sous phpbb2 ou 3 le code sur lequel on était arrivés la dernière fois suffirait ('fin en soit je changerais pas de version perso donc j'ai quand même besoin d'adapter le code, mais on sait jamais pour rajouter dans le tuto étou ) EDIT : Ouais bon en fait ça pagine aussi sur phpbb2. J'avais jamais remarqué |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Sam 14 Jan - 12:35 | Coucou ! C'est bon, notre code fonctionne ! Le voici ! - Code:
-
var url = 'http://www.peekaboo-rpg.com'; var sectionUrl = ['/g3-lemures', '/g6-chimeres', '/g4-necromanciens'];
$.each(sectionUrl, function(id, link){ var keySearch = link+'?start='; $.get(url+link, function(datas) { var lastFind = new Array(); lastFind[id] = 0; $('.pagination a', datas).each(function(index, value) { if ($(value).attr('href') != null && $(value).attr('href').indexOf(keySearch) != -1) { lastFind[id] = $(value).attr('href').substring(keySearch.length); } }); $.get(url+keySearch+lastFind[id], function(datas) {
var totalElem = new Array(); totalElem[id] = 0; totalElem[id] = parseInt($('.grp_liste .grp_listememb', datas).length) + parseInt(lastFind[id]) - 1; console.log(totalElem[id]); }); }); }); Magnifique non ? Bon, si tu le mets, ça risque pas de fonctionner xD. Là, c'est juste le code en mode débogage. Je te l'explique un peu : En premier on définit deux variables : url : l'url de l'index de ton forum sectionUrl : un tableau qui contient les liens propres à chaque groupe dont tu veux récupérer le nombre de membres Ensuite, on a une grosse fonction $.each() : elle sert à appliquer sur chaque groupes définis dans le tableau sectionUrl la fonction renseignée. Dans notre cas, on n'utilise pas de système de callback externe, donc elle applique les actions qui sont renseignées dans le $.each(function() {}); La première action qu'on réalise est de récupérer le lien vers la dernière page de pagination, après avoir défini l'adresse complète jusqu'au groupe souhaité : - Code:
-
var keySearch = link+'?start='; $.get(url+link, function(datas) { var lastFind = new Array(); lastFind[id] = 0; $('.pagination a', datas).each(function(index, value) { if ($(value).attr('href') != null && $(value).attr('href').indexOf(keySearch) != -1) { lastFind[id] = $(value).attr('href').substring(keySearch.length); } }); Ensuite, on parse le code HTML de la dernière page en comptant le nombre de membres tout en tenant compte que c'est la Xième page (on peut donc en déduire le nombre de membres avant). - Code:
-
$.get(url+keySearch+lastFind[id], function(datas) {
var totalElem = new Array(); totalElem[id] = 0; totalElem[id] = parseInt($('.grp_liste .grp_listememb', datas).length) + parseInt(lastFind[id]) - 1; console.log(totalElem[id]); }); }); Voilà :p. Là, le code affiche le nombre de membres dans la console. Nous on veut l'afficher dans les span qu'on avait créés, qui avaient pour ID : #nb_vamp #nb_necro #nb_chim #nb_zomb #nb_lem Chacun de ces id correspond à un groupe. On va donc un peu modifier notre code. D'abord on complète notre tableau des groupes : - Code:
-
var sectionUrl = ['/g3-lemures', '/g6-chimeres', '/g4-necromanciens', '/g7-vampires', '/g5-zombies']; On peut faire correspondre chaque lien à un id, en modifiant notre tableau en objet : - Code:
-
var sectionUrl = {nb_lem:'/g3-lemures', nb_chim:'/g6-chimeres', nb_necro:'/g4-necromanciens', nb_vamp:'/g7-vampires', nb_zomb:'/g5-zombies'}; Et ensuite on met notre HTML : - Code:
-
Nb de vampires : <span id="nb_vamp"></span> Nb de lemures : <span id="nb_lem"></span> Nb de necromanciens : <span id="nb_necro"></span> Nb de zombies : <span id="nb_zomb"></span> Nb de chimères : <span id="nb_chim"></span> Et ça fonctionneeeeeee ! Du coup, toi, tu dois juste mettre ce code : - Code:
-
var url = 'http://www.peekaboo-rpg.com'; var sectionUrl = {nb_lem:'/g3-lemures', nb_chim:'/g6-chimeres', nb_necro:'/g4-necromanciens', nb_vamp:'/g7-vampires', nb_zomb:'/g5-zombies'};
$.each(sectionUrl, function(id, link){ var keySearch = link+'?start='; $.get(url+link, function(datas) { var lastFind = new Array(); lastFind[id] = 0; $('.pagination a', datas).each(function(index, value) { if ($(value).attr('href') != null && $(value).attr('href').indexOf(keySearch) != -1) { lastFind[id] = $(value).attr('href').substring(keySearch.length); } }); $.get(url+keySearch+lastFind[id], function(datas) {
var totalElem = new Array(); totalElem[id] = 0; totalElem[id] = parseInt($('.grp_liste .grp_listememb', datas).length) + parseInt(lastFind[id]) - 1; $('#'+id).html(totalElem[id]); }); }); }); A la place de l'ancien ! Et ne rien toucher au HTML . Et voilà |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Sam 14 Jan - 12:48 | C'est magique En plus c'est nettement plus court que l'ancien code Je pense que j'ai compris le fonctionnement global même si on est d'accord la réalisation était clairement pas à ma portée J'ai juste enlevé le -1 parce que j'ai enlevé le modo' du template donc il n'y a pas besoin de retirer 1 normalement :think: - Code:
-
totalElem[id] = parseInt($('.grp_liste .grp_listememb', datas).length) + parseInt(lastFind[id]) - 1; Je l'ai juste enlevé dans cette ligne et ça fonctionne mais je sais pas si c'est correct comme il y a un autre -1 dans le code En tous cas merci beaucoup omg |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Sam 14 Jan - 12:55 | Oui ! C'est plus optimisé aussi ! Oui, c'est bien ce 1 qu'il fallait enlever . Tu as vite compris le code ! Du coup c'est tout bon ? |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Sam 14 Jan - 12:59 | Super Ouip c'est tout bon |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Mer 16 Aoû - 20:26 | C'est re-moi ! Désolée du double-post, mais j'ai un nouveau souci avec le script Apparemment il ne compte pas au-delà de 20 membres :< J'ai le groupe "Nécromanciens" qui vient de passer à 21 membres (donc y'a un membre tout seul en page 3), cf ici : http://www.peekaboo-rpg.com/g4-necromancienset y'a pas moyen de le faire prendre en compte la page 3 alors qu'elle a un ?start= comme la page 2 Pour rappel on était arrivés à ça : - Code:
-
<script> var url = 'http://www.peekaboo-rpg.com'; var sectionUrl = {nb_lem:'/g3-lemures', nb_chim:'/g6-chimeres', nb_necro:'/g4-necromanciens', nb_vamp:'/g7-vampires', nb_zomb:'/g5-zombies'};
$.each(sectionUrl, function(id, link){ var keySearch = link+'?start='; $.get(url+link, function(datas) { var lastFind = new Array(); lastFind[id] = 0; $('.paginasuj a', datas).each(function(index, value) { if ($(value).attr('href') != null && $(value).attr('href').indexOf(keySearch) != -1) { lastFind[id] = $(value).attr('href').substring(keySearch.length); } }); $.get(url+keySearch+lastFind[id], function(datas) {
var totalElem = new Array(); totalElem[id] = 0; totalElem[id] = parseInt($('.grp_liste .grp_listememb', datas).length) + parseInt(lastFind[id]); $('#'+id).html(totalElem[id]); }); }); });</script>
<div class="groupe_info"> <a class="grp glem" href="/g3-lemures"></a> <div> <div class="grbul"> Lémures <strong id="nb_lem">00</strong> </div> </div> </div> <div class="groupe_info"> <a class="grp gnec" href="/g4-necromanciens"></a> <div> <div class="grbul"> Nécromanciens <strong id="nb_necro">00</strong> </div> </div> </div> <div class="groupe_info"> <a class="grp gchim" href="/g6-chimeres"></a> <div> <div class="grbul"> Chimère <strong id="nb_chim">00</strong> </div> </div> </div> <div class="groupe_info"> <a class="grp gvamp" href="/g7-vampires"></a> <div> <div class="grbul"> Vampires <strong id="nb_vamp">00</strong> </div> </div> </div> <div class="groupe_info"> <a class="grp gzomb" href="/g5-zombies"></a> <div> <div class="grbul"> Zombies <strong id="nb_zomb">00</strong> </div> </div> </div> <div class="groupe_info"> <a class="grp gpnj"></a> <div> <div class="grbul"> PNJ <strong>La Faucheuse</strong> </div> </div> </div> <div class="groupe_info"> <a class="grp gnval"></a> <div> <div class="grbul"> Non-validés </div> </div> </div> <div class="groupe_info"> <a class="grp gfiche"></a> <div> <div class="grbul"> Les nuls qui font traîner leur fiche </div> </div> </div>
Et ça fonctionnait bien donc je pensais avoir bien compris le code, mais là j'arrive pas à comprendre pourquoi la page 3 n'est pas prise en compte de la même façon que la page 2 |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Sam 19 Aoû - 11:48 | Salut Bon, déjà, très beau fofo, j'adore le design ahah. Concernant l'aide, tout passe désormais sur le site d'A-toi-de-coder : http://www.a-toi-de-coder.com (je ferai un message groupé en septembre). Mais là en regardant vite fait, je ne vois pas pourquoi et vu que je suis en vacs, j'ai un peu de mal à regarder vraiment xD. |
| Eluknow Administrateur | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : Dim 20 Aoû - 11:23 | D'accord, pas de soucis. Je ne compte pas m'inscrire sur le site, donc... tant pis, i guess |
| Invité Invité | | Re: Petit complétage pour mon script qui compte les membres d'un groupe ♥ posté le : | |
| | |
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |