[Erledigt] Bewertung von nickpage mod in Nickpageliste

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag 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
Gruß Markus
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag 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'].'">',    
Gruß Markus
Benutzeravatar
mark2
Mitglied
Beiträge: 454
Registriert: 22.02.2006 23:05
Wohnort: Kempten

Beitrag von mark2 »

Es ist Geschafft!
Vielen Dank an bussibaer auf phpbb2.de und hier dem user miriam.
Gruß Markus
Antworten

Zurück zu „Coding & Technik“