Seite 3 von 3

Verfasst: 07.06.2007 23:21
von mark2
Das ist nur vom testen her. Ich habe die verschiedenen Varianten die ich probiert habe stehen lassen und mit // Auskommentiert damit ich weiß was ich schon hatte. Sonst drehe ich mich im Kreis :grin:

Ich habe also immer nur eine Zeile aktiv.
so z.B.

Code: Alles auswählen

// Start1 Anzeige Bewertung der nickpage
	//Userid
         //$sql = "SELECT * FROM " . USERS_TABLE. " WHERE username='".$_GET_['username']."'";
         //$sql = "SELECT * FROM ".USERS_TABLE." a, ".NICKPAGE_TABLE." b WHERE b.uid=a.user_id and b.status <> 1";
	$sql = "SELECT user_id FROM ".USERS_TABLE." WHERE username = '".$HTTP_GET_VARS['user']."'";
	if( !($result = $db->sql_query($sql)) )
         {
		message_die(GENERAL_ERROR, 'Konnte UID nicht bestimmen!<br><br>Could not get user id!', '', __LINE__, __FILE__, $sql);
	}
	$row = $db->sql_fetchrow($result);
	{
		$uid = $row['user_id'];
                 }
	//
      	//Bewertung der nickpage
	$sql = "SELECT SUM(c.vote) AS vote, COUNT(d.uid) AS votes FROM ".VOTES_TABLE." AS c, ".VOTES_TABLE." AS d WHERE c.uid='".$uid."' AND d.uid='".$uid."'";
	if( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Konnte Vote Ergebnisse nicht auslesen!<br><br>Could not querrie voting!', '', __LINE__, __FILE__, $sql);
	}
	$row = $db->sql_fetchrow($result);
         $votes = $row['votes'];
	$faktor = @($row['vote']/$votes);
// Ende 1 Anzeige Bewertung

Verfasst: 02.07.2007 18:18
von mark2
Ich habe jetzt durch Hilfe in einem anderen Forum eine Schleife eingebaut.
Das ganze sieht also momentan so aus.

Code: Alles auswählen

  $sql = "SELECT user_id FROM ".USERS_TABLE." WHERE user_id <> -1";
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Konnte UID nicht bestimmen!<br><br>Could not get user id!', '', __LINE__, __FILE__, $sql);
}
while($row = $db->sql_fetchrow($result))
{
    $uid = $row['user_id'];

    $sql2 = "SELECT SUM(c.vote) AS vote, COUNT(d.uid) AS votes FROM ".VOTES_TABLE." AS c, ".VOTES_TABLE." AS d WHERE c.uid='".$uid."' AND d.uid='".$uid."'";
    if( !($result2 = $db->sql_query($sql2)) )
    {
        message_die(GENERAL_ERROR, 'Konnte Vote Ergebnisse nicht auslesen!<br><br>Could not querrie voting!', '', __LINE__, __FILE__, $sql2);
    }
    $row2 = $db->sql_fetchrow($result2);
    $votes = $row2['votes'];
    $faktor = @($row2['vote']/$votes);

    if($faktor >= 4.5)
    {
        $votepic = "5.gif";
    }
    elseif($faktor >= 3.5)
    {
        $votepic = "4.gif";
    }
    elseif($faktor >= 2.5)
    {
        $votepic = "3.gif";
    }
    elseif($faktor >= 1.5)
    {
        $votepic = "2.gif";
    }
    elseif($faktor >= 1.0)
    {
        $votepic = "1.gif";
    }

    if($faktor >= 1.0)
    {
        $template->assign_block_vars('Vote_pic',array(
          ));
    }
}
Es ist aber nach wie vor so dass das bei allen usern das gleiche Ergebnis steht. Nur dass ich jetzt mit diesem code überall das Ergebnis des users mit der höchsten uid habe. Zuvor hatte ich bei allen das Ergebnis des users mir der niedrigsten uid.
Das Ergebniss wird so in die .tpl übergeben.

Code: Alles auswählen

'Bewertung' => '<img src="templates/nickpage/'.$votepic.'" alt="'.$votes.'  '.$lang['NP_VOTES'].'">',    

Verfasst: 04.07.2007 17:13
von mark2
Es ist Geschafft!
Vielen Dank an bussibaer auf phpbb2.de und hier dem user miriam.