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

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

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
das muss ich wohl voll überlesen haben. dann kann die em ja endlich anfangen!