Seite 1 von 1

Forum vom Beitragszähler ausnehmen umschreiben...

Verfasst: 24.11.2005 23:48
von md5()
Hey zuerst hatte ich mir nur diesen so eingebaut wie er hier beschrieben wird http://www.phpbb.de/viewtopic.php?p=278643#278643 aber das is mir etwas umständlich und da dachte ich mir machste das ganze Datenbank gestützt ^^ soweit sogut.

Habe ich mir ne datei angelegt wo man einstellen kann ob ein forum gezählt wird oder nicht, funkt auch super klasse war ja auch nicht schwer, doch dann komme ich jetzt an einen Punkt wo ich irgendwie nicht mehr weiter komme, und zwar sieht der code in der functions_post.php momentan so aus:

Code: Alles auswählen

		$sql = "SELECT COUNT(*) AS zahl FROM " . FORUMS_TABLE . " WHERE forum_postcount = 1";
		if(!$result = $db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, "Could not get gesendet", "", __LINE__, __FILE__, $sql);
		}
		$row = $db->sql_fetchrow($result);
		$anzahl_count = $row["zahl"];
		
		$sign_u = ( $forum_id == '' 
		for($count = 1; $count < $anzahl_count; $count++)
		{
		|| $forum_id == '$count'
		}
		 ) ? '' :  (( $mode == 'delete' ) ? '- 1' : '+ 1');

		$sql = "UPDATE " . USERS_TABLE . "
         SET user_posts = user_posts $sign_u
			WHERE user_id = $user_id";
Doch das gibt mir nur einen Parse error aus:
Parse error: parse error in S:\html\atlantas\includes\functions_post.php on line 578
Das selbe passiert bei einer while schleife...

Irgendwas mach ich da doch Falsch oder ?

Hoffe das mir hier einer Helfen kann das Problem zu lösen.

mfg md5()

Verfasst: 25.11.2005 10:07
von md5()
*puch*

Weis denn keiner Rat ?

Verfasst: 25.11.2005 10:22
von wartek
Ersetze mal den Teil
$anzahl_count = $row["zahl"];

$sign_u = ( $forum_id == ''
for($count = 1; $count < $anzahl_count; $count++)
{
|| $forum_id == '$count'
}
) ? '' : (( $mode == 'delete' ) ? '- 1' : '+ 1');
durch diesen
$anzahl_count = $row["zahl"];
$count = 1;
$sign_u = ( $forum_id == ''
while($count <= $anzahl_count)
{
if ($forum_postcount == '1')
{
|| $forum_id == '$count';
}
$count++;
}
) ? '' : (( $mode == 'delete' ) ? '- 1' : '+ 1');
wartek

Verfasst: 25.11.2005 10:25
von md5()
ne immer noch nen Parse error betrifft diese zeile

Code: Alles auswählen

while($count < ($anzahl_count + 1))

Verfasst: 25.11.2005 11:29
von wartek
md5() hat geschrieben:ne immer noch nen Parse error betrifft diese zeile

Code: Alles auswählen

while($count < ($anzahl_count + 1))
sorry hatte es schon umgeschrieben - s.o. du warst offensichtlich schneller
EDIT: es ist noch zu früh. so gehts nicht - in den variablenaufbau kannst so keine schleife einbauen. überlege grad was anderes...

wartek

Verfasst: 25.11.2005 11:39
von md5()
habe schon ne lösung gefunden *lol* wollte gerade aus meinem zimmer gehen den haushalt machen und genau beum durchlaufen der tür isses mir wie nen blitzschlag eingefallen *lach* ich brauch das doch nicht inne while oder for schleife schmeisen *lach* da das eh nur aufgerufen wird wenn der post bearbeitet gelöscht oder neu hinzugefügt wird bzw geantwortet wird.

so funkt es kannes es dir aber noch mal anschauen:

Code: Alles auswählen

	if ($mode != 'poll_delete')
	{
		$sql = "SELECT forum_id, forum_postcount FROM " . FORUMS_TABLE . " WHERE forum_id = '$forum_id' AND forum_postcount = 1";
		if(!$result = $db->sql_query($sql))
		{
			message_die(GENERAL_ERROR, "Could not get gesendet", "", __LINE__, __FILE__, $sql);
		}
		$row = $db->sql_fetchrow($result);
		$sign_u = ( $forum_id == '' . $row["forum_postcount"] . ''  ) ? '' :  (( $mode == 'delete' ) ? '- 1' : '+ 1');

		$sql = "UPDATE " . USERS_TABLE . "
         SET user_posts = user_posts $sign_u
			WHERE user_id = $user_id";
		if (!$db->sql_query($sql, END_TRANSACTION))
		{
			message_die(GENERAL_ERROR, 'Error in posting', '', __LINE__, __FILE__, $sql);
		}
	}