Probleme avec une fonction "if" !

Gsgsd
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 15:29

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

Eléphant du PHP | 445 Messages

18 mai 2006, 15:45

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/
LLDC
Ulti

Gsgsd
Invité n'ayant pas de compte PHPfrance

18 mai 2006, 16:00

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...

Avatar du membre
ViPHP
ViPHP | 3008 Messages

18 mai 2006, 16:05

Tu as essayé de mettre comme c'est marqué et ça ne marche pas ?

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

18 mai 2006, 16:17

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 ?

Gsgsd
Invité n'ayant pas de compte PHPfrance

20 mai 2006, 00:56

Je pense que la condition c'est quand la case dans le panneau admin est coché !!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

20 mai 2006, 09:30

Code : Tout sélectionner

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

Gsgsd
Invité n'ayant pas de compte PHPfrance

21 mai 2006, 00:04

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.

Gsgsd
Invité n'ayant pas de compte PHPfrance

21 mai 2006, 00:28

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é!!!

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

21 mai 2006, 11:17

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)