Seite 1 von 2

20 Spiele pro Seite

Verfasst: 22.11.2003 20:22
von mirk
wie kann ich auf der seite: ( http://www.master-forum.ch/activity.php ) so eine unterteilung einbauen das pro seite z.B. 20 Spiele angezeigt werden und dann kann man wie im forum zu den nächsten 20 klicken?

Verfasst: 23.11.2003 02:14
von Acid
..speichere mal die activity.php als *.txt ab und poste einen Link.

Verfasst: 23.11.2003 15:19
von mirk
http://www.master-forum.ch/activity.txt

danke schon mal für die mühe!

Verfasst: 23.11.2003 16:52
von Acid
++FINDE++

Code: Alles auswählen

// End session management
++DARUNTER EINFÜGEN++

Code: Alles auswählen

$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
++FINDE++

Code: Alles auswählen

  $sql = "SELECT * FROM " . iNA_GAMES . "
          ORDER BY game_id";
++MIT FOLGENDEM ERSETZEN++

Code: Alles auswählen

  $sql = "SELECT * FROM ". iNA_GAMES ." ORDER BY game_id LIMIT $start, ". $board_config['topics_per_page'];
++FINDE++

Code: Alles auswählen

//===========================================================================
// Generate page
++DARÜBER! EINFÜGEN++

Code: Alles auswählen

$sql = "SELECT count(*) AS games FROM ". iNA_GAMES;
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Error getting total users', '', __LINE__, __FILE__, $sql);
}
if( $total = $db->sql_fetchrow($result) )
{
	$games = $total['games'];
	$pagination = generate_pagination("activity.$phpEx?", $games, $board_config['topics_per_page'], $start). ' ';
}

$template->assign_vars(array(
	'PAGINATION' => $pagination,
	'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $board_config['topics_per_page'] ) + 1 ), ceil( $games / $board_config['topics_per_page'] )), 
	'L_GOTO_PAGE' => $lang['Goto_page'])
);
In der activity_body.tpl fügst dann unten noch {PAGE_NUMBER} und {PAGINATION} ein.


..anstatt den Wert für "Themen pro Seite" ($board_config['topics_per_page']) kannst du auch "Beiträge pro Seite" ($board_config['posts_per_page']) nehmen oder gar einen eigenen Wert eintragen. (Aber versuch´s erstmal damit..)

Verfasst: 23.11.2003 17:28
von mirk
weltklasse acid!

hat prima geklappt!

besten dank!

demo: http://www.master-forum.ch/activity.php

Verfasst: 23.11.2003 17:41
von mondi
dem dank an acid kann ich mich nur anschließen.

@Mirk
Was mich an deinem Activity interessieren würde.

du hast ja zunächst den login rausgenommen

Code: Alles auswählen

// Make sure the player is registered
// $user_id = $userdata['user_id'];
// $username = $userdata['username'];
// if (!$userdata['session_logged_in'] && $user_id == ANONYMOUS)
// {
//   $header_location = ( @preg_match("/Microsoft|WebSTAR|Xitami/", getenv("SERVER_SOFTWARE")) ) ? "Refresh: 0; URL=" : "Location: ";
//   header($header_location . append_sid("login.$phpEx?redirect=activity.$phpEx", true));
//   exit;
// }
Wie hast du es unterdrückt, dass der Highscore eines Besuchers als "Anonymus" gespeichert wird? Ich könnte mir vorstellen, dass da auch ein Weg für ein zukünftiges Cheater-Fix liegen könnte, mit dem Napoleon jetzt offenbar beginnt.

Dessen ungeachtet: Ich würde natürlich meinen Besuchern gerne diese Option anbieten. Jeder kann spielen, aber erst "registrieren" um Highscores zu speichern. Wäre nett, wenn du die entsprechende Datei mal posten könntest. Ist das die newscore.php ?

Grüße
Mondi

Verfasst: 23.11.2003 18:15
von mirk
no problem:

newscore: http://www.master-forum.ch/download/newscore.txt

der untere teil der auskomentiert ist ist der teil mit dem points MOD den ich bei mir nicht verwende.

das wo dich interessiert ist unter dem "// End session management" zu finden.

Code: Alles auswählen

if ( !$userdata['session_logged_in'] )
	{
	$template->set_filenames(array('body' => 'saved_body.tpl'));

  	  $template->assign_vars(array('SAVED' => "Du warst gut! Um dich in der Highscoreliste zu platzieren musst du registriert sein.<br> Registriere dich jetzt kostenlos und unverbindlich: <b><a href=http://www.master-forum.ch/profile.php?mode=register&agreed=true target=_blank>HIER</a></b>",
                               'GAME_NAME' => $game_name,
							   'U_CLOSE' => "javascript:parent.window.close();",
                               'L_CLOSE' => "Schliessen")
   	         );

Verfasst: 23.11.2003 18:33
von mondi
thx ... funktioniert.

Verfasst: 23.11.2003 18:43
von mirk
das problem sind noch die die ersten spiele(java spiele) bei denen wird der score vom anonymus gespeichert (aber wenn ich mich nicht täusche ist für den score von den javaspielen eine andere php datei zuständig nicht die newscore.php). mit allen anderen games lauft es prima.

Verfasst: 23.11.2003 22:01
von Spidy
Jo danke auch von Meiner wenigkeit.

Und noch eine Frage dazu kann man die Anzahl der Angezeigten Games auch unabhängig von der Anzahl der Themen Einstellen .

Wenn ja wo und wie .

Danke schon mal