Seite 50 von 108

Verfasst: 04.06.2008 21:21
von Gismo110
wie gesagt das habe ich gemacht. Den code den patch mir gegeben hat. Trotzdem kommt noch der fehler

ich check nicht wie du das mit dem "zwei mal machen" meinst

man kann doch nur suchen finden ersetzen speichern

Verfasst: 04.06.2008 21:39
von Kuschel19
dann suche mal das eine nocheinmal ^^ ich hatte den Fehle reinmal in Zeile 268 und dann bei 3** nochwas ^^

Verfasst: 04.06.2008 21:51
von Gismo110
jetzt hats geklappt hab nur nach der hälfte gesucht vom code - danke!

dann haben wir ja nur noch stress mit der rangliste :-D

Verfasst: 04.06.2008 21:53
von Kuschel19
so sehe ich es auch gismo ^^ warte gerade auf patch das er noch so nen Trick 17 Code hinzaubert :-) ^^

Verfasst: 04.06.2008 22:05
von Patch
Kuschel19 hat geschrieben:so sehe ich es auch gismo ^^ warte gerade auf patch das er noch so nen Trick 17 Code hinzaubert :-) ^^
versuch mal folgendes:

finde in der functions_em.php

Code: Alles auswählen

 function get_timestamp_for_ranking_history(){

    global $db;

   $sql = "SELECT  max(Games.game_time) as MaxTime
      FROM  " . EM_RESULTS_TABLE . " Res inner join (Select game_id, game_time from  " . EM_GAMES_TABLE . " union  SELECT  game_id, game_time  FROM  " . EM_FINALS_TABLE . " ) as Games
      on Games.game_id = Res.result_game";

   if( !($result_times = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
   }

   $row_times = $db->sql_fetchrow($result_times);
   $timestamp_first_game_of_today = $row_times['MaxTime'];

   return $timestamp_first_game_of_today;
ersetzte mit

Code: Alles auswählen

 function get_timestamp_for_ranking_history(){

    global $db;
    $timestamp_first_game_of_today = '';

   $sql = "SELECT game_time as MaxTime
      FROM  " . EM_RESULTS_TABLE . " Res inner join  " . EM_FINALS_TABLE . " final on final.game_id = Res.result_game order by game_time desc  LIMIT 0 , 1";

   if( !($result_times = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
   }

   $row_times = $db->sql_fetchrow($result_times);
   $timestamp_first_game_of_today = $row_times['MaxTime'];


if ($timestamp_first_game_of_today == '' || $timestamp_first_game_of_today == 0) {

   $sql = "SELECT  game_time as MaxTime
      FROM  " . EM_RESULTS_TABLE . " Res inner join  " . EM_GAMES_TABLE . " games on games.game_id = Res.result_game order by game_time desc  LIMIT 0 , 1";

   if( !($result_times = $db->sql_query($sql)) )
   {
      message_die(GENERAL_ERROR, 'Could not get playing times of today', '', __LINE__, __FILE__, $sql);
   }

   $row_times = $db->sql_fetchrow($result_times);
   $timestamp_first_game_of_today = $row_times['MaxTime'];
}


   return $timestamp_first_game_of_today;

ihr werdet aber beim eintragen des letzten spiels ebenfalls probleme bekommen. da ist noch folgende kritische zeile zur ermittlung der torjägerpunkte

Code: Alles auswählen

$sql = "SELECT userid from phpbb_em_torschuetzen_user u inner join phpbb_em_torschuetzen t on t.spielerid = u.spielerid where userid = (select tipp_user from phpbb_em_tipps where tipp_id = " . $em_tipps[$current_game_id][$u]['tipp_id'] . ") and tore = (Select max(tore) from phpbb_em_torschuetzen)";
Alle anderen sollten hier auch nochmal nachbessern. hier sind die tabellennamen hardcodiert drin!

Verfasst: 04.06.2008 22:14
von Kuschel19
Diesmal leider nicht :-)

folgender Fehler vorher

Code: Alles auswählen

Could not get playing times of today

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Select game_id, game_time from phpbb2_em_games union SELECT

SELECT max(Games.game_time) as MaxTime FROM phpbb2_em_results Res inner join (Select game_id, game_time from phpbb2_em_games union SELECT game_id, game_time FROM phpbb2_em_finals ) as Games on Games.game_id = Res.result_game

Line : 180
File : functions_em.php
folgender danach

Code: Alles auswählen

Could not get historical user tipps data

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'Select game_id, Game_time FROM phpbb2_em_games Union Select gam

SELECT A.tipp_user , sum( A.tipp_points ) AS user_points, count( A.tipp_points ) AS user_total_tipps, count( B.tipp_points ) AS user_points_tendency, count( C.tipp_points ) AS user_points_difference, count( D.tipp_points ) AS user_points_result FROM phpbb2_em_tipps A LEFT JOIN phpbb2_em_tipps B ON A.tipp_id = B.tipp_id AND A.tipp_points = 1 LEFT JOIN phpbb2_em_tipps C ON A.tipp_id = C.tipp_id AND A.tipp_points = 2 LEFT JOIN phpbb2_em_tipps D ON A.tipp_id = D.tipp_id AND A.tipp_points = 3 inner join (Select game_id, Game_time FROM phpbb2_em_games Union Select game_id, Game_time FROM phpbb2_em_finals) as E on E.game_id = A.tipp_game and E.game_time < 0 GROUP BY A.tipp_user ORDER BY user_points DESC, user_points_result DESC, user_points_difference DESC, user_points_tendency DESC, tipp_user ASC

Line : 148
File : functions_em.php
Ich denke mal es muss noch woanders was geändert werde da die Fehlermeldung von der Zeile her nach hinten ist. Oder?

Verfasst: 04.06.2008 22:24
von Patch
Kuschel19 hat geschrieben:Ich denke mal es muss noch woanders was geändert werde da die Fehlermeldung von der Zeile her nach hinten ist. Oder?
das hat in der datei nix zu bedeuten, da hier nur funktionen drin sind die von anderen dateien aufgerufen werden.
in dem neuen Fehler ist aber wieder eine Subquery schuld :cry:

Verfasst: 04.06.2008 22:26
von Kuschel19
was heist den subquery? ^^ Kann man es nicht umgehen ich habe auch MySQL 4.1 kann doch net angehen -.-

Verfasst: 04.06.2008 22:26
von wwwthomasbauerattf
Patch hat geschrieben: ihr werdet aber beim eintragen des letzten spiels ebenfalls probleme bekommen. da ist noch folgende kritische zeile zur ermittlung der torjägerpunkte

Code: Alles auswählen

$sql = "SELECT userid from phpbb_em_torschuetzen_user u inner join phpbb_em_torschuetzen t on t.spielerid = u.spielerid where userid = (select tipp_user from phpbb_em_tipps where tipp_id = " . $em_tipps[$current_game_id][$u]['tipp_id'] . ") and tore = (Select max(tore) from phpbb_em_torschuetzen)";
Alle anderen sollten hier auch nochmal nachbessern. hier sind die tabellennamen hardcodiert drin!
mal ne frage! was ist wenn kein spieler den richtigen torschützenkönig tippt?
im acp kann man ja bei jedem spieler der von mind. 1 spieler als favorit gewählt wurde, die anzahl der tore eingeben...
was ist wenn keinerr den richtigen wählt, gewinnt dann der user von dem der spieler am nähesten dran war?

Verfasst: 04.06.2008 22:28
von legrandviper
fluidman hat geschrieben:Ist in der 0.6.1 im snippets ordner

OPEN em_stats.php

FIND

Code: Alles auswählen

'USER_POINTS_DIFFERENCE' => $em_users_data[$i]['user_points_difference'],"
AFTER ADD

Code: Alles auswählen

'USER_EM_TIPP' => ((time() < 1212854400) && ($em_users_data[$i]['tipp_user'] != $userdata['user_id']) && ($userdata['user_level'] != ADMIN)) ? $lang['Hidden_email'] : $team_data[$champion_tips[$em_users_data[$i]['tipp_user']]]['team_name'],
ah, besten dank :P
das muss ich wohl voll überlesen haben. dann kann die em ja endlich anfangen!