X-Git-Url: https://git.nubati.net/cgi-bin/gitweb.cgi?p=e-DoKo.git;a=blobdiff_plain;f=include%2Fstats.php;h=1e6a033ea5986fca7bd4a11610cdb7b2118aef33;hp=eac8a8e12a7b06c52a3d37836715565199ccb110;hb=cdf3b418ca71babb4336243ccdd741bbd5970d4d;hpb=9239ba22c382383cd258ad3f36b2bc0dc99664b2 diff --git a/include/stats.php b/include/stats.php index eac8a8e..1e6a033 100644 --- a/include/stats.php +++ b/include/stats.php @@ -1,5 +1,5 @@ \n"; - -/* always: if player logged in: add link to cards */ - -/* total number of games */ -echo "
The number of finished games on this server is: "; -$r = DB_query_array("SELECT COUNT(*) from Game". - " WHERE status='gameover'"); -$GameN = $r[0]; -echo " $GameN
\n"; - -echo "The contra party wins in "; -$result = DB_query("SELECT COUNT(*) from Score". - " LEFT JOIN Game ON Game.id=game_id". - " WHERE score='againstqueens'". - " AND Game.status='gameover'"); -while( $r = DB_fetch_array($result)) - echo $r[0]; -echo " games.
\n"; - - -/* number of solos */ -echo "These kind of games have been played this often:
";
-$result = DB_query("SELECT COUNT(*) as c,type from Game".
- " WHERE status='gameover'".
- " GROUP BY type".
- " ORDER BY c DESC");
-while( $r = DB_fetch_array($result))
- echo "".$r[1]." (".$r[0].")
";
-echo "
These kind of solos have been played this often:
";
-$result = DB_query("SELECT COUNT(*) as c,solo from Game".
- " WHERE status='gameover'".
- " AND type='solo'".
- " GROUP BY solo".
- " ORDER BY c DESC");
-while( $r = DB_fetch_array($result))
- echo "".$r[1]." (".$r[0].")
";
-echo "
Generated ".date("Y-m-d H:i:s")." (server time)
"; + + /* total number of games */ + echo "The number of finished games on this server is: "; + $r = DB_query_array("SELECT COUNT(*) from Game". + " WHERE status='gameover'"); + $GameN = $r[0]; + echo " $GameN
\n"; + + echo "The contra party wins in "; + $result = DB_query("SELECT COUNT(*) from Score". + " WHERE score='againstqueens'"); + while( $r = DB_fetch_array($result)) + echo $r[0]; + echo " games.
\n"; + + /* longest and shortest game */ + $r=DB_query("SELECT timediff(mod_date,create_date) ,session,id". + " FROM Game WHERE status='gameover'". + " ORDER BY time_to_sec(timediff(mod_date,create_date)) ASC LIMIT 1"); + + if($r) + { + $short= DB_fetch_array($r); + $names = DB_get_all_names_by_gameid($short[2]); + echo " The shortest game took only ".$short[0]." hours and was played by ".join(", ",$names).".
\n";
+ }
+
+ $r=DB_query("SELECT datediff(mod_date,create_date) ,session,id".
+ " FROM Game WHERE status='gameover'".
+ " ORDER BY time_to_sec(timediff(mod_date,create_date)) DESC LIMIT 1");
+ if($r)
+ {
+ $long= DB_fetch_array($r);
+ echo "The longest game took ".$long[0]." days.
The longest session is session ".$long[1]." with ".$long[0]. + " games played by ".join(", ",$names).".
\n"; + } + + + /* number of solos */ + $result = DB_query_array_all("SELECT type,COUNT(*) as c from Game". + " WHERE status='gameover'". + " GROUP BY type". + " ORDER BY c DESC"); + array_unshift($result,array("Type","Frequency")); + echo output_table($result,"Game types","stats"); + + /* break up solos in types */ + $result = DB_query_array_all("SELECT solo,COUNT(*) as c from Game". + " WHERE status='gameover'". + " AND type='solo'". + " GROUP BY solo". + " ORDER BY c DESC"); + array_unshift($result,array("Type","Frequency")); + echo output_table($result,"Kind of solos","stats"); + + /* 2 top user mit maximaler quote an solo (min 10 games) - + top scoring game: winning players - + game with the same cards: show 3 at random: player who won, points, what kind of game select g1.id, g2.id from game g1 left join game g2 on g1.randomnumbers=g2.randomnumbers where g1.id The shortest game took only ".$short[0]." hours and was played by ".join(", ",$names).".
\n";
- }
-
-$r=DB_query("SELECT datediff(mod_date,create_date) ,session,id".
- " FROM Game WHERE status='gameover'".
- " ORDER BY time_to_sec(timediff(mod_date,create_date)) DESC LIMIT 1");
-if($r)
- {
- $long= DB_fetch_array($r);
- echo "The longest game took ".$long[0]." days.
These players got the most reminders per game:
\n";
-$result = DB_query("SELECT COUNT(*) /" .
- " (SELECT COUNT(*) FROM Hand".
- " WHERE user_id=User.id) as c,".
- " fullname FROM Reminder".
- " LEFT JOIN User ON User.id=user_id".
- " GROUP BY user_id".
- " ORDER BY c DESC LIMIT 5" );
-while( $r = DB_fetch_array($result))
- echo $r[1]." (".$r[0].")
\n";
-echo "
These players caught the most foxes per game:
\n";
-$result = DB_query("SELECT COUNT(*) /" .
- " (SELECT COUNT(*) FROM Hand".
- " WHERE user_id=User.id) as c,".
- " fullname".
- " FROM Score".
- " LEFT JOIN User ON User.id=winner_id".
- " WHERE score='fox'".
- " GROUP BY winner_id".
- " ORDER BY c DESC LIMIT 5" );
-while( $r = DB_fetch_array($result))
- echo $r[1]." (".$r[0].")
\n";
-echo "
These players lost their fox most often per game:
\n";
-$result = DB_query("SELECT COUNT(*) /" .
- " (SELECT COUNT(*) FROM Hand".
- " WHERE user_id=User.id) as c,".
- " fullname".
- " FROM Score".
- " LEFT JOIN User ON User.id=looser_id".
- " WHERE score='fox'".
- " GROUP BY looser_id".
- " ORDER BY c DESC LIMIT 5" );
-while( $r = DB_fetch_array($result))
- echo $r[1]." (".$r[0].")
\n";
-echo "
These players lost their fox least often per game:
\n";
-$result = DB_query("SELECT COUNT(*) /" .
- " (SELECT COUNT(*) FROM Hand".
- " WHERE user_id=User.id) as c,".
- " fullname".
- " FROM Score".
- " LEFT JOIN User ON User.id=looser_id".
- " WHERE score='fox'".
- " GROUP BY looser_id".
- " ORDER BY c ASC LIMIT 5" );
-while( $r = DB_fetch_array($result))
- echo $r[1]." (".$r[0].")
\n";
-echo "
Which positions at the table make the most tricks:
\n";
-$result = DB_query("SELECT COUNT(*) AS c,winner FROM Trick".
- " GROUP BY winner".
- " ORDER BY winner ASC " );
-$r = DB_fetch_array($result);
-if($r[1]==NULL) /* ongoing games, no winner yet */
- $r = DB_fetch_array($result);
-echo " left ".$r[0]."
\n";
-$r = DB_fetch_array($result);
-echo " top ".$r[0]."
\n";
-$r = DB_fetch_array($result);
-echo " right ".$r[0]."
\n";
-$r = DB_fetch_array($result);
-echo " bottom ".$r[0]."
\n";
-echo "
Most games played on the server:
\n";
-$result = DB_query("SELECT COUNT(*) as c, " .
- " fullname FROM Hand".
- " LEFT JOIN User ON User.id=user_id".
- " GROUP BY user_id".
- " ORDER BY c DESC LIMIT 7" );
-while( $r = DB_fetch_array($result))
- echo $r[1]." (".$r[0].")
\n";
-echo "
These players are involved in this many active games:
\n";
-$result = DB_query("SELECT COUNT(*) as c, " .
- " fullname FROM Hand".
- " LEFT JOIN User ON User.id=user_id".
- " LEFT JOIN Game ON Game.id=game_id".
- " WHERE Game.status<>'gameover'".
- " GROUP BY user_id".
- " ORDER BY c DESC LIMIT 7" );
-while( $r = DB_fetch_array($result))
- echo $r[1]." (".$r[0].")
\n";
-echo "
The party playing first wins in"; $result = mysql_query("SELECT COUNT(*) from Score". " LEFT JOIN Game ON Game.id=game_id". @@ -226,15 +223,27 @@ echo "
\n"; while( $r = mysql_fetch_array($result,MYSQL_NUM)) echo $r[1]." (".$r[0].")Points/game (you need at least 10 games to be in this statistic):
\n";
-generate_global_score_table();
-echo "
\n"; + + echo "\n"; /* end output */ + + /* write file to cache */ + $content = ob_get_contents(); + ob_end_clean(); + createCache($content,"cache/stats.html"); +} + +echo $content; ?>