Page 1 sur 1

Probleme avec une fonction "if" !

Posté : 18 mai 2006, 15:29
par Gsgsd
Bonjour.
Je crée un forum phpbb et j'ai un probleme avec un morceau de php qui manque juste apres "if":
if ( )
	{
		$sql = "SELECT *
			FROM " . TOPICS_TABLE ."
			WHERE topic_id = $topic_id";
		if ( !($result = $db->sql_query($sql)) )
		{
		   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
		}
		$topic = $db->sql_fetchrow($result);

	$topic_reply_sql = ( ($topic['topic_replies'] +1) >= $max_reply && $max_reply > 0 ) ? ', topic_status = 1' : '';
C'est un mod qui permet de limiter le nombre de post par topic mais il me manque ce bout de code!!!

le mod est telechargeable ici : Mod nombre max de reponse au sujet

Merci

Posté : 18 mai 2006, 15:45
par Ultim4T0m
Pour les problèmes phpBB, vas plutôt sur les forums consacrés à ça (supports, mod, thèmes...)

Celui-ci me paraît très bien ;)

http://forums.phpbb-fr.com/

Posté : 18 mai 2006, 16:00
par Gsgsd
Je sais j'ai deja poster sur au moin 3 forum d'aide différent donc je sais plus ou me renseigner sur le site du createur il n'est pas venue sur son forum depuis plus d'un mois et sur phpbb-fr il ne reponde pas peut etre parce que seul les moddeur doivent peut etre savoir repondre et que en ce moment il ne sont pas nombreux a cause du bac etc...

Posté : 18 mai 2006, 16:05
par charabia
Tu as essayé de mettre comme c'est marqué et ça ne marche pas ?

Posté : 18 mai 2006, 16:17
par Ryle
La question c'est sous quelle condition doit tu rentrer dans ce if ?
tout le temps ? tu mets if(true) et on en parle plus
jamais ? if(false) et il n'y rentrera jamais
en fonction d'un paramètre particulier ? c'est ce test là qu'il faut ajouter...

Et si c'est ce test là qui te pose problème, je vois pas trop comment on pourrait nous le deviner sans aucun des éléments qui conditionne ton if ?

Posté : 20 mai 2006, 00:56
par Gsgsd
Je pense que la condition c'est quand la case dans le panneau admin est coché !!!

Posté : 20 mai 2006, 09:30
par Ryle

Code : Tout sélectionner

if(isSet($nomDeLaCaseCochéeDansLePanneauAdmin))
:?:

Posté : 21 mai 2006, 00:04
par Gsgsd
Alors corrige moi si je me trompe:

Je suis allé voir dans le mod dans la partie de l'admin et j'ai vue que la partie qui active le mod est celle la:
#
#-----[ OPEN ]------------------------------------------------
#
admin/admin_forums.php

#
#-----[ FIND ]------------------------------------------------
#
				'L_DAYS' => $lang['Days'],

#
#-----[ AFTER, ADD ]----------------------------------
#
				'L_MAX_REPLY' => $lang['Max_Reply'],
				'L_MAX_REPLY_EXPLAIN' => $lang['Max_Reply_explain'],
				'MAX_REPLY' => $row['max_reply'],

#
donc j'ai pris
'max_reply'
donc ensuite j'ai fait les modifs que tu m'as suggeré c'est à dire:
if(isSet($max_reply))
	        {
		$sql = "SELECT *
			FROM " . TOPICS_TABLE ."
			WHERE topic_id = $topic_id";
		if ( !($result = $db->sql_query($sql)) )
		{
		   message_die(GENERAL_ERROR, 'Could not obtain topic information', '', __LINE__, __FILE__, $sql);
		}
		$topic = $db->sql_fetchrow($result);

	$topic_reply_sql = ( ($topic['topic_replies'] +1) >= $max_reply && $max_reply > 0 ) ? ', topic_status = 1' : '';
Donc si j'ai fais une erreur corrige moi !!! :wink:

Et merci de me repondre.

Posté : 21 mai 2006, 00:28
par Gsgsd
Désolé de faire un doublon mais comme je n'ai pas l'option éditer !!!

Alors j'ai fais les modifs et ça ne fonctionne pas mais je crois que j'ai peut etre trouvé ce qu'il faut faire c'est a dire que ce n'est pas une case mais un champ avec un nombre 0 par défaut donc le mod n'est pas activé mais il s'active à partir de 1 alors je me suis renseigné pour trouvé une fonction if avec une comparaison:
if ('$max_reply' > '0')
Mais je suis pas du tout sur que la syntaxe est respecté!!!

Posté : 21 mai 2006, 11:17
par Ryle
Je ne sais pas du tout pour le if si c'est la bonne condition, mais si c'est bien le cas, la syntaxe serait sans les apostrophes :
if ($max_reply > 0)