Hallo,
Ich will ein Script für eine Joomla Komponente anpassen und eine Blätterfuntion miteinbauen.
Die Blätterfuntion funtioniert auch schon.
Das Problem ist, das die Sortierung mit der
Blätterfunktion nicht mehr stimmt und ich
jetzt langsam echt keinen Rat mehr habe .
Hier der Code:
ohne Blätterfunktion hat es auch wunderbar funktioniert. Deswegen glaube ich, das folgende Zeile einfach falsch ist:
Bin ich vollkommen auf dem Holzweg, oder gibt es eine andere (richtige) Möglichkeit die Einträge zu sortieren?
Vielen Dank für eure Antworten im voraus. Bin echt über jede Hilfe Monsterdankbar
Grüße
Dope76
Ich will ein Script für eine Joomla Komponente anpassen und eine Blätterfuntion miteinbauen.
Die Blätterfuntion funtioniert auch schon.
Das Problem ist, das die Sortierung mit der
Blätterfunktion nicht mehr stimmt und ich
jetzt langsam echt keinen Rat mehr habe .
Hier der Code:
PHP-Code:
class getHighScoresTab extends cbTabHandler {
function getHighScoresTab() {
$this->cbTabHandler();
}
function getDisplayTab($tab,$user,$ui) {
global $mosConfig_lang, $mosConfig_absolute_path,
$mosConfig_live_site, $mosConfig_offset, $database, $my;
$limit = mosGetParam( $_REQUEST, 'limit', 10 );
$limitstart = mosGetParam( $_REQUEST, 'limitstart', 0 );
$levellimit = mosGetParam( $_REQUEST, 'levellimit', 10 );
//Blaetterfunktion
$database->setQuery("SELECT count(*) FROM #__puarcade WHERE userid = ".$user->user_id." ;");
$total = $database->loadResult();
require_once ($mosConfig_absolute_path.'/includes/pageNavigation.php');
$limit = $limit ? $limit : 10 ;
if ( $total <= $limit ) $limitstart = 0;
$pageNav = new mosPageNav( $total, $limitstart, $limit);
//load variales
//DEFINE('_UE_CBETAB_JOGFL_HEADER', "Highscores")
$params=$this->params;
$HStopicTXT = $params->get('HStopicTXT', "Spiele von");
$HScol1TXT = $params->get('HScol1TXT', "Rang");
$HScol2TXT = $params->get('HScol2TXT', "Spiel");
$HScol3TXT = $params->get('HScol3TXT', "Punkte");
$HSsryTXT = $params->get('HSsryTXT',"Du kannst gerade nicht spielen!");
$HSnoentryTXT = $params->get('HSnoentryTXT',"Dieser Benutzer hat noch .........!");
DEFINE('_UE_CBTAB_PU_HEADER', "cbhighscoretab");
//define content
$content="<table width='100%' cellspacing=2 border=0>";
//$content="<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\">";
$database->setQuery("SELECT score, gameid FROM #__puarcade" .
" WHERE userid = ".$user->user_id."" .
" LIMIT ".$pageNav->limitstart.", ".$pageNav->limit.";");
$gameidscores = $database->loadObjectList();
//if-clause if a user have no entrys in score table
if(count($gameidscores)){
foreach($gameidscores AS $gameidscore){
//count useres who have more point than him. this result +1 is the rank
$database->setQuery("SELECT count(*) FROM #__puarcade
WHERE gameid=".$gameidscore->gameid." AND score > ".$gameidscore->score.";");
$rank = NULL;
$rank=$database->loadResult() + 1;
//get gamedata like picture and name
$game_data = NULL;
$database->setQuery("SELECT gamename, imagename, published FROM #__puarcade_games
WHERE id=".$gameidscore->gameid.";");
$database->loadObject( $game_data );
//check if game really exisits, or if theres only dead data in scores table
if(isset($game_data->gamename)){
$highscores[] = array($rank,$game_data->gamename,$game_data->imagename,
$gameidscore->gameid,$game_data->published,$gameidscore->score);
}
}
//Sort Array by Rank
array_multisort($highscores );
//TableHeader - Topic
$content.="<tr><td class=sectiontableheader colspan=3 align=center.......
//Pagecounter
$content.="<tr><td class=sectiontableheader colspan=3
align=left><nobr>".$pageNav->writePagesCounter()."</nobr></td></tr>";
//TableHeader - Colnames
$content.="........
$content.="........
$content.="........
$row_class="1";
foreach($highscores as $placegamescore){
$content.="<tr>";
//1st column: Rank
$rank_img=$mosConfig_live_site.
"/components/com_comprofiler/plugin/user/plug_cbhighscorestab/";
switch($placegamescore[0]){
case 1:
$rank_img.="gold.gif";
$content.="..........
break;
case 2:
$rank_img.="silber.gif";
$content.="..........
break;
case 3:
$rank_img.="bronze.gif";
$content.="..........
break;
default:
$rank_img.="neutral.gif";
$content.=".............
}
//2nd column: Game Thumbnail, Name and Link. .
.
.
//3rd column: Score
$content.="<td class='sectiontableentry".$row_class."'>
<font size=\"4\"><div align=center>".$placegamescore[5]."</td>";
$content.="</tr>";
//switch sectiontableentry every row
if($row_class=="1") $row_class="2";
else $row_class="1";
}
$content.="<tr><td class=.....".sefRelToAbs($pageNav->writePagesLinks
("index.php?option=com_comprofiler&task=userProfile&user=&Itemid=66&index=
"._UE_CBTAB_PU_HEADER."&task=userProfile&user="
.$user->user_id."" ...";
//$content.="</table>"
} //end if clause
else {
$content.= "</table><div align=center><font size=1><b>".htmlspecialchars($HSnoentryTXT).
"</b></font></div>";
}
//dont remove!!!
$content.="<p><font size=1><div align=center></div></font>";
return $content;
}
}
?>
PHP-Code:
//Sort Array by Rank
array_multisort($highscores );
Vielen Dank für eure Antworten im voraus. Bin echt über jede Hilfe Monsterdankbar
Grüße
Dope76
Kommentar