Seite 166 von 265

Verfasst: 02.10.2006 10:43
von Patch
SELECT userid, username, spieltag, punkte, treffer, tagessieg
FROM `tippspiel_user_spieltage`, phpbb_users
WHERE userid=user_id and spieltag = 1
order by punkte desc
die rote zahl kannst du nach belieben ersetzen.

Verfasst: 02.10.2006 11:08
von Bully

Code: Alles auswählen

userid 	username 	spieltag 	punkte 	treffer 	tagessieg 	
72	Tennesseespatz	6	18	2	1	
862	Tetra	6	11	1	0	
771	Crassius	6	9	1	0	
831	B!ko	6	9	1	0	
3	Barny	6	8	0	0	
2	Bully	6	2	0	0	
928	htr33-egmont	6	0	0	0	
933	wavycapped [HTr33]	6	0	0	0
*g* würde nur noch die selektion dahingehend fehlen, das er mir nur diejenigen anzeigt, die getippt haben.
die beiden letzte in der tabelle, haben definitiv den spieltag ausgelassen.

Verfasst: 02.10.2006 11:21
von Patch
das kann eigentlich nicht sein. sie haben mds. ein ergebniss getippt.
geht mal auf "spieltage tippen" und wechsel zu dem ents. spieltag und guck mal unten in der der tabelle welches spiel sie getippt haben. bzw vielleich haben sie ein ergebnis eingetragen und es im nachhinein wieder rausgelöscht?!

Verfasst: 02.10.2006 12:01
von Patch
Ah seh schon, sie stehen tatsächlich nicht drin.. .
ich vermute sie haben ein ergebniss eingetragen und das wieder gelöscht.
probier mal:
SELECT tippspiel_user_spieltage.userid, username, tippspiel_user_spieltage.spieltag, tippspiel_user_spieltage.punkte, tippspiel_user_spieltage.treffer, tippspiel_user_spieltage.tagessieg, count(tippspiel_usertips.bewertet) as tippanzahl
FROM `tippspiel_user_spieltage`, phpbb_users, tippspiel_usertips
WHERE tippspiel_user_spieltage.userid=phpbb_users.user_id and tippspiel_user_spieltage.spieltag = 5 and tippspiel_usertips.bewertet >= 0 and tippspiel_user_spieltage.spieltag = tippspiel_usertips.spieltag and tippspiel_user_spieltage.userid = tippspiel_usertips.userid
group by username
order by punkte desc

Verfasst: 02.10.2006 12:17
von Bully
klasse!
das ist das, was ich benötige.

genau das muss ich jetzt in die statistik integrieren.

ich hab vorhin die tabelle angeschaut, bilde mir ein, da war ein datensatz für die beiden, ohne tips
kannst mir erklären, wo mein denkfehler lag?

Verfasst: 02.10.2006 13:20
von Patch
na einen denkfehler hattest du nicht, aber die beiden user haben halt ergebnisse eingetragen und die wieder rausgelöscht.



versuch mal: (speichere aber vorher deine alte userstatistik.php)

öffne userstatistik.php

finde:

Code: Alles auswählen

$sql = "SELECT * FROM tippspiel_user_spieltage WHERE spieltag > '$spieltaglast' AND spieltag < '$spieltagnext' ORDER BY spieltag DESC, punkte DESC, treffer DESC ";
                if( !$result = $db->sql_query($sql) )
                   	message_die(GENERAL_ERROR, $lang['tipp_Sql_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
                while($row = $db->sql_fetchrow($result))
                {
		
			$userstatistikcheck['spieltag'][] = $row['spieltag'];
			if ( $fs!=0){
			if($userstatistikcheck['spieltag'][$f] > $userstatistikcheck['spieltag'][$fs]){$o++;}}
			$userstatistik[$o]['userid'][] = $row['userid'];
			$userstatistik[$o]['punkte'][] = $row['punkte'];
			$userstatistik[$o]['treffer'][] = $row['treffer'];
			$userstatistik[$o]['spieltag'][] = $row['spieltag'];	
			$f++;$fs++;
		}
ersetzte mit:

Code: Alles auswählen

$sql = "SELECT Distinct tippspiel_user_spieltage.userid,  tippspiel_user_spieltage.spieltag, tippspiel_user_spieltage.punkte, tippspiel_user_spieltage.treffer, tippspiel_user_spieltage.tagessieg
FROM tippspiel_user_spieltage inner join tippspiel_usertips on (tippspiel_user_spieltage.spieltag = tippspiel_usertips.spieltag and tippspiel_user_spieltage.userid = tippspiel_usertips.userid)
WHERE tippspiel_usertips.bewertet >= 0   AND tippspiel_user_spieltage.spieltag > '$spieltaglast' AND tippspiel_user_spieltage.spieltag < '$spieltagnext' 
ORDER BY spieltag DESC, punkte DESC, treffer DESC ";
                if( !$result = $db->sql_query($sql) )
                   	message_die(GENERAL_ERROR, $lang['tipp_Sql_Error'], $lang['Error'], __LINE__, __FILE__, $sql);
                while($row = $db->sql_fetchrow($result))
                {
		
			$userstatistikcheck['spieltag'][] = $row['spieltag'];
			if ( $fs!=0){
			if($userstatistikcheck['spieltag'][$f] > $userstatistikcheck['spieltag'][$fs]){$o++;}}
			$userstatistik[$o]['userid'][] = $row['userid'];
			$userstatistik[$o]['punkte'][] = $row['punkte'];
			$userstatistik[$o]['treffer'][] = $row['treffer'];
			$userstatistik[$o]['spieltag'][] = $row['spieltag'];	
			$f++;$fs++;
		}

Verfasst: 02.10.2006 16:47
von porfavor
Hallo,
gibt es irgendwo aktuelle sql-Befehle für die Teams und Spieltage?
Wenn es geht möchte ich die nicht alle von Hand eingeben.

Verfasst: 02.10.2006 18:09
von plACEbo
Bitteschön (bis einschl. 6.Spieltag)

mfg

Verfasst: 02.10.2006 18:44
von porfavor
Vielen Dank!
Hast du vielleicht auch noch ne Adresse, wo ich die Wappen herbekomme?
Ich könnte mir die jetzt auch vin Bundesliga.de oder so holen, aber da ist wieder was rechtliches dabei und es ist evtl umständlich.

Wäre super, wenn du was weißt!

Verfasst: 02.10.2006 19:35
von Bully
@Patch:

vielen dank! der code passt, funktioniert hervorragend!
danke für deine geduld und deine hilfsbereitschaft!