Problème mini-module... [Réglé]
PHPBoost ne charge pas
Créations de Modules
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
J'ai un soucis avec le code du mini-module que je crée pour un module. La grande portion de code commentée est celle qui génère les données du mini-module. Je l'ai commentée car le cas échéant, PHPBoost ne charge pas. Autrement dit, j'ai une page blanche. Visiblement, j'ai un problème dans mon code et je ne vois pas à quel endroit il pourrait se situer. Je fais une première requête pour sélectionner les cinq dernières lignes de la table ayant 2 comme "state". Je fais une seconde requête pour calculer le nombre total de victoires, défaites et nulles. Je me demande d'ailleurs si je ne pouvais pas faire ces deux requêtes en une seule. La boucle for est utilisée pour comptabiliser les résultats mentionnés ci-dessus, et l'autre boucle while pour affecter les données de la première requête SQL.
Merci d'avance pour vos réponses,
Forensic
Code PHP :
<?php require_once('clans_begin.php'); function last_matchs_mini($position, $block) { global $Cache, $Template,$Sql,$CLANS_LANG; load_module_lang('clans'); $Cache->load('clans'); //Chargement du cache $tpl = new Template('clans/last_matchs_mini.tpl'); import('core/menu_service'); MenuService::assign_positions_conditions($tpl, $position); $result = $Sql->query_while("SELECT id, opponent, match_date, game, match_type, our_score, opp_score FROM " . DB_TABLE_CHALLENGES . " WHERE state = 2 ORDER BY match_date DESC LIMIT 0,5", __LINE__, __FILE__); $result2 = $Sql->query_while("SELECT our_score, opp_score FROM ".DB_TABLE_CHALLENGES." WHERE state = 2 ORDER BY match_date DESC", __LINE__, __FILE__); $nbr_lwars = $Sql->num_rows($result2 , "SELECT COUNT(*) FROM " . DB_TABLE_CHALLENGES . "", __LINE__, __FILE__); if ($nbr_lwars >= 1) { // Initiating variables for further use /*$wins = 0; $losts = 0; $draws = 0; for ( $i = 1; $i <= $nbr_lwars; $i++) { while ( $row2 = $Sql->fetch_assoc($result2) ) { if ($row2['our_score'] > $row2['opp_score']) $wins++; elseif ($row2['our_score'] < $row2['opp_score']) $losts++; else ($row2['our_score'] = $row2['opp_score']) $draws++; } } while( $row = $Sql->fetch_assoc($result) ) { if ($row['our_score'] > $row['opp_score']) $backgroundcolor = 'wins'; elseif ($row['our_score'] < $row['opp_score']) $backgroundcolor = 'losts'; else ($row['our_score'] = $row['opp_score']) $backgroundcolor = 'draws'; $score = $row['our_score'] . "/" . $row['opp_score']; $Template->assign_block_vars('lastmatchs', array( 'ID' => url('.php?id=' . $row['id'], '-' . $row['id'] . '.php'), // To modify 'BACKGROUNDCOLOR' => $backgroundcolor, 'DATE' => date("d/m/Y", $row['match_date']), 'OPPONENT' => $row['opponent'], 'SCORE' => $score, 'MATCHTYPE' => $row['match_type'], 'GAME' => $row['game'], )); }*/ $tpl->assign_vars(array( 'C_LAST_WARS' => true, 'L_ALL_WARS' => $CLANS_LANG['matchs_allchallenges'], 'L_REPORT' => $CLANS_LANG['report'], 'CLANS' => $Template->get_module_data_path('clans'), 'WINS' => (!empty($wins) ? $wins : '0'), 'LOSTS' => (!empty($losts) ? $losts : '0'), 'DRAWS' => (!empty($draws) ? $draws : '0') )); } else $tpl->assign_vars(array( 'C_NO_RESULT' => true, 'L_NO_RESULT' => $CLANS_LANG['mini_no_result'], )); $tpl->assign_vars(array('L_LAST_WARS' => $CLANS_LANG['mini_last_wars'])); //On retourne le contenu du bloc return $tpl->parse(TEMPLATE_STRING_MODE); } ?>
Édité par Forensic Le 11/05/2009 à 21h39
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Est-ce que le Je n'ai pas compris si le code montré ici fonctionne et que le problème est dans la partie commentée ou si il ne fonctionne pas (et donc que le problème n'est pas dans la partie commentée).
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Forensic
Édité par Forensic Le 11/05/2009 à 21h50
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Code PHP :
par $Template->assign_block_vars('lastmatchs', array( ... ));
Code PHP :
ce sera déjà ça de fait.$tpl->assign_block_vars('lastmatchs', array( ... ));
Pour le moment, je n'ai rien vu d'autre qui cloche, mais je n'ai eu beaucoup de temps pour regarder plus en détail. Essaie et dis nous si ça marche.
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
alain91 Membre non connecté
Booster Missile
-
Booster Missile
- Voir le profil du membre alain91
- Inscrit le : 26/09/2010
- Groupes :
Forensic :
Le code commenté (/* */) fait foirer mon installation phpboost. Aucun message d'erreur, aucun code du noyau interprété. En le commentant, je vois bien mon mini module avec son titre, mais évidemment, sans les données.
Forensic
Forensic
Est-ce que tu veux qu'il n'y a aucun message d'erreur. Si c'est le cas tu peux essayer le mode DEBUG
Le pessimisme est d'humeur. L'optimisme est de volonté (Philosophe Alain).
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Merci pour ces réponses. Pour l'instant, n'étant pas chez moi, je ne peux pas essayer. Je pense que l'idée que tu soumets horn est logique, mais je me demande pourquoi alors les affectations de variables au templates passeraient mais pas la boucle.
On me perd légèrement avec les classes, alors je ne comprend pas à 100% la façon de les construire et de les utiliser! Je te tiens au courant si ça fonctionne d'ici les prochaines quatre heures lors de mon retour à la maison.
edit : Mon erreur, j'ai mal lu ce que tu as écrit horn. En effet, j'ai utilisé $Template. J'ai remplacé par $tpl et j'arrive au même résultat, soit celui que la page de mon navigateur reste blanche, aucun code interprété par le serveur php. Il se fait tard, alors je vais me coucher et analyserai ça demain matin. Merci encore pour votre aide.
Alain: Je ne suis pas sûr de comprendre. Je n'obtiens aucun message car aucun code n'est interprété par le serveur php. Mon navigateur retourne tout simplement une page blanche. Ceci dit, comment s'utilise-t-il ce mode DEBUG?
Forensic
Édité par Forensic Le 12/05/2009 à 04h45
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Je parlais hier avec CrowKait qui disait que ce sont souvent les erreurs les plus bêtes qui nous font perdre du temps. Là, j'ai atteint un sommet dans l'erreur la plus bête. J'ai copié/collé la portion de code à partir d'une page de mon module pour l'intégrer dans le mini-module. La différence est que les deux if/elseif/else contient une condition supplémentaire dans le script d'origine. Alors, puisque j'en ai supprimé une (qui fut le else), j'ai donc remplacé le second elseif par else, mais sans supprimer les conditions qui étaient rattachées aux elseif... Voila, c'était encore une fois très bête. Merci pour votre aide.
Forensic
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
Ptithom Membre non connecté
-
Modérateur
- Voir le profil du membre Ptithom
- Inscrit le : 07/11/2006
- Site internet
- Groupes :
-
Equipe Historique
Toujours OSER, savoir parfois CEDER, mais jamais RENONCER!
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
Mes sites : http://www.leschinchillas.org / http://www.chateau-de-lastours.fr
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006

Toutefois, une question persiste, non pas concernant le problème initial, mais tout de même les mini-modules. Dans une discussion lointaine avec CrowkaiT, je pensais qu'il m'avait dit avoir trouvé une solution pour charger une feuille de style alternative pour utiliser dans les mini modules sans avoir à intégrer la balise <link> dans le fichier template. Est-ce réglé? Car actuellement, le css du mini module fonctionne uniquement lorsque je suis sur une page du module et elle ne fonctionne pas lorsque je suis ailleurs sur le site...
Forensic
Édité par Forensic Le 12/05/2009 à 19h05
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
CrowkaiT Membre non connecté
-
Modérateur
- Voir le profil du membre CrowkaiT
- Inscrit le : 17/06/2005
- Site internet
- Groupes :
-
Equipe Historique
Pas de support par messages privés! Pensez à mettre vos messages en réglé en cliquant sur le bouton réglé!
Forensic Membre non connecté
Booster Mortier
-
Booster Mortier
- Voir le profil du membre Forensic
- Inscrit le : 18/12/2006
Problème définitivement réglé, merci!!
Forensic
Chercher sur le forum - /Consulter la Documentation - Consulter la Foire aux Questions (FAQ)
Dire bonjour et merci, c'est toujours apprécié et pensez à mettre vos messages en Réglé!
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie