PhpBB-Power Communauté francophone de support et de mods pour phpBB
|
| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Sam 02 Déc 2006 à 20:40 Sujet du message: |
|
|
Est-ce qu'il serait possible de profiter encore un peu de ta gentillesse?
Parce que au niveau de la page pilote.php qui présente chaque pilote les infos extraitent de la base de donnée ne s'affichent pas.
J'ai regardé de plus près et je n'arrive pas à identifier se qui cloche. _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
Dakin Quelia Décimètre en Chef

Inscrit le: 17 Sep 2006 Messages: 484 Localisation: Belgique
|
Posté le: Sam 02 Déc 2006 à 22:17 Sujet du message: |
|
|
Bonsoir,
Normalement, tu n'as pas besoin de toucher à ces fichiers! Revérifie en faisant un nouvel essai car cela devrait fonctionner depuis que Alcazarfr t'as aidé. Pour qu'on puisse t'aider, dépose le morceau de code ici.
Cordialement,
Dakin Quelia _________________ Pas de support par MP
 |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Dim 03 Déc 2006 à 12:05 Sujet du message: |
|
|
Voilà je vous met le code
| Code: | If ((isset($HTTP_GET_VARS['pilote']))||(isset($HTTP_POST_VARS['pilote']))) {
$pilid = (isset($HTTP_POST_VARS['pilote'])) ? $HTTP_POST_VARS['pilote'] : $HTTP_GET_VARS['pilote'];
}
// pilid est l'ID du pilote concerné
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'pronorace_pilote_body.tpl')
);
// Chargement du fichier tpl
$sql = " SELECT p.*, t.* FROM ".PRONO_PILOTE." p, ".PRONORACE_CONFIG." t
ORDER BY p.pilote_id ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query url list' . $sql, '', __LINE__, __FILE__, $sql);
}
// Chargement des infos de la BDD sur les pilotes, par ordre d'ID croissant
// NB, le code me semble bizarre. Il recupère les infos de PRONORACE_CONFIG alors que ceci sont statiques.
$i = 0;
// Intitalisation du compteur $i à 0
while($piloterow = $db->sql_fetchrow($result))
{
// C'est une façon de créer une boucle pour étudier chaque pilote qui resortira de la requete SQL
$row[] = $piloterow;
// On, ajoute dans Le tableau $row les informations sur le pilote étudié dans la boucle
if ($pilid == $piloterow['pilote_id'])
{
// Si l'ID du pilote vu par la boucle est égal à l'ID du pilote cherché
$index=$i;
// Alors la variable $index prend la valeur du compteur $i
}
$i++;
// La variable £i (le compteur) gagne +1.
}
$max = $i-1;
if($row[$index]['photo'] == '' )
{
Si le champ photo du pilote vu est vide
$photo = $lang['not_photo'];
}
else
{
$photo = '<img src="' .$row[$index]['photo'].'" height="' .$row[$index]['hauteur'].'" width="' .$row[$index]['longueur'].'"/>';
} |
je pense que le problème se situe à ce niveau (mais je ne suis que débutant et je peux me tromper).
En fait, la page n'arrive pas à afficher les infos concernant le pilote.
Si j'ai bien compris au début du code, $pilid est l'id du pilote qui est récupéré.
Après on passe les 5-6 lignes qui suivent...
Après la requête sql récupère tous sur les bases prono_pilote (et pronorace_config), classe par odre alphabétique(numérique) les id /ça je pense que c'est pour la fin du code pour passer d'un pilote à l'autre/
mais je comprend pas bien pourquoi $i = 0 et ce qui suit.
N'hésitez pas à me corriger si j'ai fait une erreur, ça me permet d'apprendre en même temps et je suis très désireux d'apprendre. _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Lun 04 Déc 2006 à 21:46 Sujet du message: |
|
|
Pas de réponse!
Vous ne trouvez pas ou c'est que ça vous saoul? Dites le c'est pas un problème.
En plus j'aimerai poser plein d'autres questions pour vraiment comprendre à fond le php parce que j'avoue je patoge un peu en ce moment. _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
Alcazarfr Moddeurs

Inscrit le: 04 Nov 2004 Messages: 2408 Localisation: Dans le port d'Amsterdam, [...]
|
Posté le: Mar 05 Déc 2006 à 0:20 Sujet du message: |
|
|
Salut
J'ai édité ton message (le code) en rajoutant des commentaires.
Néanmoins, le code pourrait être, selon moi, largement optimisé.
Si tu as d'autres questions  _________________ Je n'utilise en aucun cas MSN Messenger & je ne participe pas au projet de site
// En vacances |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Mar 05 Déc 2006 à 8:53 Sujet du message: |
|
|
Ok merci, je n'avais pas remarqué. _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Mar 05 Déc 2006 à 9:17 Sujet du message: |
|
|
Bon ben je vous met la page entière
| Code: | <?php
/***************************************************************************
* pilote.php
* -------------------
* begin : 4 Avril 2006
* Fait par : ssch3
* email : ssch8@hotmail.com
*
*
*
***************************************************************************/
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . '/language/lang_french/lang_pronorace.'.$phpEx);
If ((isset($HTTP_GET_VARS['pilote']))||(isset($HTTP_POST_VARS['pilote']))) {
$pilid = (isset($HTTP_POST_VARS['pilote'])) ? $HTTP_POST_VARS['pilote'] : $HTTP_GET_VARS['pilote'];
}
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'pronorace_pilote_body.tpl')
);
$sql = " SELECT p.*, t.* FROM ".PRONO_PILOTE." p, ".PRONORACE_CONFIG." t
ORDER BY p.pilote_id ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query url list' . $sql, '', __LINE__, __FILE__, $sql);
}
$i = 0;
while($piloterow = $db->sql_fetchrow($result))
{
$row[] = $piloterow;
if ($pilid == $piloterow['pilote_id'])
{
$index=$i;
}
$i++;
}
$max = $i-1;
if($row[$index]['photo'] == '' )
{
$photo = $lang['not_photo'];
}
else
{
$photo = '<img src="' .$row[$index]['photo'].'" height="' .$row[$index]['hauteur'].'" width="' .$row[$index]['longueur'].'"/>';
}
$description = $row[$index]['description'];
$name = $row[$index]['pilote_name'];
$prenom = $row[$index]['prenom'];
$victoire_a = $row[$index]['victoire'];
$u_pilote_prec = ($index > 0) ? '<a href="' . append_sid("pilote.$phpEx?pilote=" . $row[($index -1)]['pilote_id']) . '"><img src="'.$images['gauche'].'" border="0"/></a>' : '';
$u_pilote_suiv = ($index < $max) ? '<a href="' . append_sid("pilote.$phpEx?pilote=" . $row[($index +1)]['pilote_id']) . '"><img src="'.$images['droite'].'" border="0"/></a>' : '';
$sql = "SELECT SUM('victoire') AS total FROM ".PRONOCP." WHERE pilote_id = $pilid";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query url list' . $sql, '', __LINE__, __FILE__, $sql);
}
if($row = $db->sql_fetchrow($result))
{
$victoire_b = $row['total'];
}
$tot_victoire = $victoire_a + $victoire_b ;
$template->assign_vars(array(
'U_PILOTE_SUIVANT' => $u_pilote_suiv,
'U_PILOTE_PREC' => $u_pilote_prec,
'L_NAME_PILOTE' => $lang['name_pilote'],
'L_NAME_CHAMP' => $lang ['name_champ'],
'I_RIGHT' => $images ['droite'],
'L_DESCRI' => $lang['descri'],
'L_PHOTO' => $lang['photo_pilote'],
'L_ABOUT_PILOTE' => $lang['about_pilote'],
'L_RACE' => $lang['race_pilote'],
'L_POINT' => $lang['point_prono'],
'PRENOM' => $prenom,
'VICTOIRE' => $tot_victoire,
'NAME' => $name,
'PHOTO' => $photo,
'DESCRIPTION' => $description)
);
$sql = " SELECT i.pilote_id, i.victoire, i.champ_point, c.champ_name, c.champ_id FROM ".PRONOCP." i, ".PRONO_CHAMPI." c
WHERE i.pilote_id = $pilid
AND c.champ_id = i.champ_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query url list' . $sql, '', __LINE__, __FILE__, $sql);
}
while ($raw = $db->sql_fetchrow($result))
{
$pro_raws[] = $raw;
$total_topics ++;
}
$total_pro = count($pro_raws);
//Build display
for($i = 0; $i < $total_pro; $i++) {
$victoire= $pro_raws[$i]['victoire'];
$champ= $pro_raws[$i]['champ_name'];
$point= $pro_raws[$i]['champ_point'];
$template->assign_block_vars('row', array(
'POINT' => $point,
'VICTOIRE' => $victoire,
'CHAMP' => $champ)
);
}
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?> |
C'est vrai je sais pas pourquoi il appelle pronorace_config
Si tu veux voir ce que ça donne :
http://bmxforever.free.fr/forum/pilotelist.php
après les fiches pilotes ne s'affichent pas _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
Alcazarfr Moddeurs

Inscrit le: 04 Nov 2004 Messages: 2408 Localisation: Dans le port d'Amsterdam, [...]
|
Posté le: Mar 05 Déc 2006 à 17:55 Sujet du message: |
|
|
Si tu peux attendre vendredi, je pourrais te recoder cette page _________________ Je n'utilise en aucun cas MSN Messenger & je ne participe pas au projet de site
// En vacances |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Mer 06 Déc 2006 à 20:24 Sujet du message: |
|
|
merci et bien sur que je peux attendre vendredi.
si ça te prends pas trop de temps et que ça t'embêtes pas, je suis preneur si tu peux mettre des commentaires ça me permet de bien comprendre. _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Jeu 14 Déc 2006 à 8:54 Sujet du message: |
|
|
Recherche à comprendre!!!!
| Code: | if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? htmlspecialchars($HTTP_POST_VARS['mode']) : htmlspecialchars($HTTP_GET_VARS['mode']);
}
else
{
mode == '';
} |
je comprend que c'est pour récupérer l'indo placé en bout d'url mais est-ce qu'il serait possible de me définir :
isset
$HTTP_POST_VARS
$HTTP_GET_VARS
htmlspecialschars
| Code: | | $pilid = intval($_POST['Pilote']); |
De même que signifie :
intval
merci par avance
ça marche de mieux en mieux le pronorace et j'y apporte des modifications mais je vous en parleré si vous les souhaitez _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
Alcazarfr Moddeurs

Inscrit le: 04 Nov 2004 Messages: 2408 Localisation: Dans le port d'Amsterdam, [...]
|
Posté le: Jeu 14 Déc 2006 à 20:05 Sujet du message: |
|
|
oups, désolé, j'ai totalement oublié...
Pour tes questions:
| Citation: |
else
{
mode == '';
}
|
Déjà, c'est faux ça. Ca devrait être
| Citation: |
else
{
mode = '';
}
|
== est utilisé pour verifier une condition.
| Exemple a écrit: | | Code: |
<?php
$var= mt_rand(1, 3);
// $var est égal à un nombre aléatoire entre 1 et 3, générer par la fonction mt_rand, alias de rand() en plus performant
if ( $var == 1 )
{
// Si $var est égal à 1 ...
$var_2 = 'var est égal à 1 ... ';
}
else if ( $var == 2 )
{..
// Si $var est égal à 2 ...
$var_2 = 'var est égal à 2 ... ';
}
else
{
// Si $var est ni égal à 1, ni égal à 2
$var_2 = 'var est différente de 1 et de 2 ';
}
echo $var_2;
// On affiche $var_2
?> |
|
Créer un page php avec ce code dedans.
S'il y a une erreur (je l'ai vite fait), resous la toi même pour t'entrainer.
$HTTP_POST_VARS
=> Cela permet de récupérer les variables envoyées par la méthode POST d'un formulaire. désormais, on utilise $_POST (enfin, pas moi)
$HTTP_GET_VARS
=> Cela permet de récupérer les variables passées par url ou par la méthode GET d'un formulaire. Maintenant, c'est $_GET.
Comme tu l'a dis, cela permet de récuperer une valeur au "bout" d'une url.
| Exemple a écrit: | | Code: | test.php?mode=accueil&variable=2
Dans la page test.php, on pourra utiliser, pour recuperer la valeur de mode, ce code:
if ( isset($HTTP_GET_VARS['mode']) || isset($HTTP_POST_VARS['mode']) )
{
$mode = ( isset($HTTP_POST_VARS['mode']) ) ? htmlspecialchars($HTTP_POST_VARS['mode']) : htmlspecialchars($HTTP_GET_VARS['mode']);
}
// Si on a envoyé, soit par la méthode post, soit par la méthode get, soit par l'url un champ "mode", alors $mode, si mode par la méthode post n'est pas vide, est égal à la valeur de mode via la méthode post. Sinon, $mode prend la valeur de mode par la méthode get.
C'est pas super clair...
http://www.phpdebutant.org/article113.php J'ai trouvé ce site, ça a pas l'air mal.
|
|
htmlspecialschars
=> C'est une fonction qui convertit certain caractères spéciaux en caractères html. Elle est utilisée pour la sécurité.
Pour plus d'infos: http://fr.php.net/manual/fr/function.htmlspecialchars.php
$pilid = intval($_POST['Pilote']);
=> Cela retourne la valeur numérique de la variable
http://fr.php.net/manual/fr/function.intval.php | Un petit mot sur les conditions a écrit: | Voici deux code qui font la même chose.
| Code: |
$var = rand(1,2);
if ( $var == 1 )
{
$echo = 'Var est égal à 1';
}
else
{
$echo = 'Var est égal à 2';
} |
| Code: |
$var = rand(1,2);
$echo = ( $var == 1 ) ? 'Var est égal à 1' : 'Var est égal à 2';
|
|
_________________ Je n'utilise en aucun cas MSN Messenger & je ne participe pas au projet de site
// En vacances |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Sam 16 Déc 2006 à 12:48 Sujet du message: |
|
|
Merci pour toutes ces réponses celà m'aide vachement.
MERCI BEAUCOUP!!
Alors voilà je souhaite modifier le mod pour l'adapter au maximum à mes attentes et à mon sport.
J'ai commencé à réfléchir, je vous fait part de mes réflexions et de mes premiers problèmes.
Commençons par les pilotes.
Je souhaite ajouter un champ catégorie(pour savoir dans quel catégorie court un pilote) donc je dois modifier les 2 fichiers php de l'administration des pilotes et les .tpl qui vont avec.
Petit problème : je souhaite que les catégories soient définies par l'administarteur et que ensuite pour chaque pilote les catégorie soient dans une liste déroulante et je ne sais comment faire.
Il faut que je crée un .php pour l'administartion des catégories avec un .tpl
et une table avec un id et le nom de chaque catégorie.
pour la liste déroulante je bloque un peu beaucoup.
Je souhaite également rajouter un classement général des pronostiqueurs car pour le moment ça se fait que sur chaque forum.
Pour celà il faut que je modifie le menu admin (.tpl et .php), crée une page d'administartion pour dir quel forum compte pour le classement pareil il faudrait que ça s'affiche dans une liste déroulante(.php et .tpl) avec surement une table qui gère tous celà enfin là il faut que je m'y penche d'avantage.
Ensuite crée une page classement général (.php et .tpl) sur la base de celle existante
+ 1 lien pour y accéder mais celà est déjà moins compliqué.
Alors voilà, je vous laisse y aller de vos commentaires et peut-être alternatives. _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
Alcazarfr Moddeurs

Inscrit le: 04 Nov 2004 Messages: 2408 Localisation: Dans le port d'Amsterdam, [...]
|
Posté le: Sam 16 Déc 2006 à 23:39 Sujet du message: |
|
|
Pour les catégorires des pilotes.
- Créer la table phpbb_lenom_categorie
Avec comme champ categorie_nom, categorie_description et categorie_id, avec un primary_key sur categorie_id
- Dans la table des pilotes, ajoutes le champ pilote_categorie
- Pour l'administration des categories: Regardes les fichiers d'administrations des rangs phpBB (admin_ranks peut être). Inspires toi des fichiers tpl et php pour créer l'affichage et la modification/cration/suppression des categories.
- A la création des pilotes, il te suffit de rajouter la liste déroulante et d'envoyer les infos dans la base de donnée avec les autres (nom, description , etc.)
Voici comment generer la liste
| Code: | $menu_deroulant = '<select name="pilote_categorie">';
$sql = "SELECT *
FROM " . LA_TABLE_DES_CATEGORIES . "
ORDER BY categorie_nom ASC";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$menu_deroulant .= '<option value="' . $row['categorie_id'] . '">' . $row['categorie_nom']. '</option>';
}
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
$menu_deroulant .= '</select>'; |
Envoies ensuite $menu_deroulant vers le tpl et affiches le.
| Citation: | | Je souhaite également rajouter un classement général des pronostiqueurs car pour le moment ça se fait que sur chaque forum. |
Peux tu réexpliquer, je ne comprend pas.
Si tu as des questions, ou des explications de code, n'hésites pas
Enfin, je t'inviters à aller voir ceci. Je l'avais fait il y a lontemps, mais c'est tjrs d'actualité _________________ Je n'utilise en aucun cas MSN Messenger & je ne participe pas au projet de site
// En vacances |
|
| Revenir en haut de page |
|
 |
bmxforever Soldat régulier
Inscrit le: 25 Nov 2006 Messages: 33
|
Posté le: Lun 18 Déc 2006 à 8:38 Sujet du message: |
|
|
Merci pour tes explications et le bout de code que tu m'as filé, je vais bosser dessus et je reviens si j'ai un problème ou alors (dans le meilleur des cas) quand j'ai terminé.
En ce qui concerne le classement général c'est parce que je veux le faire sur 3 catégories et que donc je suis obligé de créer 3 forums.
Le classement s'établit sur chaque forum mais moi je suhaiterais un classement général sur les 3 forums.
Concernant le tutoriel je ne le trouve point sur le lien.
Merci pour tout _________________ www.bmxforever.net |
|
| Revenir en haut de page |
|
 |
Dakin Quelia Décimètre en Chef

Inscrit le: 17 Sep 2006 Messages: 484 Localisation: Belgique
|
Posté le: Lun 18 Déc 2006 à 11:43 Sujet du message: |
|
|
Bonjour,
Le tuto est à télécharger! C'est pour cela que tu ne le trouves pas dans le topic, il est mis en téléchargement!
Cordialement,
Dakin Quelia _________________ Pas de support par MP
 |
|
| Revenir en haut de page |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum Vous ne pouvez pas joindre des fichiers Vous ne pouvez pas télécharger des fichiers
|
|