Jump to content

wsod problem, can not run Page


Go to solution Solved by mac_gyver,

Recommended Posts

Where did you turn on error reporting? It must be set in the php.ini to capture certain fatal errors, otherwise the error occurs before the code to turn on errors is executed.

 

In your php.ini make sure display_errors is set to On and error_reporting is set to -1

 

And make sure to restart Apache after the changes.

Edited by scootstah

bracket.php

<?php
    // PHP Class bracket
    // Bracket builder for GotGames
    // Author Benjamin Thomas
    // October 2009
    class bracket
            {
                    //Bring In Database Details From Include.PHP
                    var $username = DB_USER;
                    var $password = DB_PASS;
                    var $database = DB_NAME;
                    //Init Class Variables
                    var $tournament_name;
                    var $tournament_size;
                    var $tournament_format;
                    var $tournament_id;
                    var $result_servers;
                    var $result_stvs;
                    var $result_matches;
                    var $result_teams;
                    //*************************************************************************************
                    // schedule bracket
                    // Input - The tournament ID used to identify which tournament we are scheduling for
                    // Operation - This constructor reads the required information from the     databas and assigns the following class values:
                    // tournament_name;
                    // tournament_size;
                    // tournament_format;
                    // tournament_id;
                    // result_servers;
                    // result_stvs;
                    // result_matches;
                    // result_teams;
                    //*************************************************************************************
                    function bracket($tourn_id)
                            {
                                    //Save the Tournament ID
                                    $this->tournament_id = $tourn_id;
                                    //Collect All Required Information To Draw a Bracket
                                    mysql_connect('localhost', $this->username, $this->password);
                                    \mysql_select_db($this->database) or die("Unable to select database");
                                    $query = "SELECT * FROM tms_tournament WHERE id = " . $tourn_id;
                                    $result_tournament = mysql_query($query) or die('Error, query failed');
                                    $row                     = mysql_fetch_assoc($result_tournament);
                                    $this->tournament_name   = $row['name'];
                                    $this->tournament_size   = $row['size'];
                                    $this->tournament_format = $row['format'];
                                    mysql_free_result($result_tournament);
                                    //read and save information from database
                                    $query = "SELECT * FROM tms_servers WHERE id_tournament = " . $tourn_id;
                                    $this->result_servers = mysql_query($query) or die('Error, query failed');
                                    $query = "SELECT * FROM tms_stvs WHERE id_tournament = " . $tourn_id;
                                    $this->result_stvs = mysql_query($query) or die('Error, query failed');
                                    $query = "SELECT * FROM tms_matches WHERE id_tournament = " . $tourn_id;
                                    $this->result_matches = mysql_query($query) or die('Error, query failed');
                                    $query = "SELECT * FROM tms_teams_" . $tourn_id . " WHERE id_tournament = " . $tourn_id;
                                    $this->result_teams = mysql_query($query) or die('Error, query failed');
                            }
                    //*************************************************************************************
                    // Function draw
                    // Operation - Called to display a single elimination bracket
                    //*************************************************************************************
                    function draw( )
                            {
                                    $total_rounds = log($this->tournament_size, 2) + 1;
                                    //total rounds
                                    $row          = array( );
                                    $col          = array(
                                                    $row
                                    );
                                    //create a data type to hold our bracket information
                                    //Generate a datastructure to hold all the information required to layout the bracket
                                    for($i = 1; $i <= $total_rounds; $i++)
                                            {
                                                    $round_matches = $this->getmatches($i);
                                                    $matches       = pow(2, $total_rounds - $i);
                                                    //calc how many matches for this round
                                                    $interval      = pow(2, $i);
                                                    // calc the interval for layout spacing
                                                    $offset        = pow(2, $i - 1);
                                                    // each round is offset by a differnt amount to form the bracket pyramid
                                                    for($c = 1; $c <= ($this->tournament_size * 2) + 1; $c++)
                                                            {
                                                                    if($c < $offset)
                                                                            {
                                                                                    // blank space
                                                                                    $col[$i][$c] = 0;
                                                                            } //$c < $offset
                                                                    elseif($c > (($this->tournament_size * 2) + 1) - $offset)
                                                                            {
                                                                                    // blank space
                                                                                    $col[$i][$c] = 0;
                                                                            } //$c > (($this->tournament_size * 2) + 1) - $offset
                                                                    elseif($c == $offset)
                                                                            {
                                                                                    if($i == $total_rounds)
                                                                                            {
                                                                                                    //No match but tournament winner
                                                                                                    $col[$i][$c] = "Champion";
                                                                                            } //$i == $total_rounds
                                                                                    else
                                                                                            {
                                                                                                    //print a team here
                                                                                                    $tmp_array   = array_shift($round_matches);
                                                                                                    $col[$i][$c] = $tmp_array['print_team'];
                                                                                            }
                                                                            } //$c == $offset
                                                                    elseif((($c - $offset) % $interval) == 0)
                                                                            {
                                                                                    //print a team here
                                                                                    $tmp_array   = array_shift($round_matches);
                                                                                    $col[$i][$c] = $tmp_array['print_team'];
                                                                            } //(($c - $offset) % $interval) == 0
                                                                    elseif($c == ($offset * 2))
                                                                            {
                                                                                    //print match here
                                                                                    $col[$i][$c] = "Match" . $tmp_array['id'];
                                                                            } //$c == ($offset * 2)
                                                                    elseif((($c - $offset * 2) % ($interval * 2)) == 0)
                                                                            {
                                                                                    //print match here
                                                                                    $col[$i][$c] = "Match" . $tmp_array['id'];
                                                                            } //(($c - $offset * 2) % ($interval * 2)) == 0
                                                                    else
                                                                            {
                                                                                    $col[$i][$c] = 0;
                                                                                    // blank space
                                                                            }
                                                                    print("<br>");
                                                             //$c = 1; $c <= ($this->tournament_size * 2) + 1; $c++
                                                    // layout the bracket using html tables and the data struct created above: col
                                                    print("<table width='100%' border='5'>");
                                                    print("<tr>");
                                                    for($i = 1; $i <= $total_rounds - 1; $i++)
                                                            {
                                                                    print("<th>Round " . (string) $i . "</th>");
                                                            } //$i = 1; $i <= $total_rounds - 1; $i++
                                                    print("</tr>");
                                                    for($c = 1; $c <= ($this->tournament_size * 2); $c++)
                                                            
                                                                    print("<tr>");
                                                                    for($i = 1; $i <= $total_rounds + 1; $i++)
                                                                            
                                                                                    if(strcmp(substr($col[$i][$c], 0, 5), "Match") == 0)
                                                                                            {
                                                                                                    $tmp_array = $this->getmatch(substr($col[$i][$c], 5));
                                                                                                    $datetime  = new DateTime($tmp_array['timestamp']);
                                                                                                    print("<td align='center' bgcolor='#FFE4E1'><table><tr><td
    align='center'>" . $datetime->format("D, jS F Y gA") . "</td></tr><tr><td     align='center'>stv - " . $this->getstvdetails($tmp_array['id_stv']) . "</td></tr></table>    </td>");
                                                                                            } //strcmp(substr($col[$i][$c], 0, 5), "Match") == 0
                                                                                    elseif(strcmp(substr($col[$i][$c], 0, 5), "Teams") == 0)
                                                                                            {
                                                                                                    print("<td align='center' bgcolor='#dddddd'>" . $this->getteamname(substr($col[$i][$c], 5)) . "</td>");
                                                                                            } //strcmp(substr($col[$i][$c], 0, 5), "Teams") == 0
                                                                                    elseif($col[$i][$c])
                                                                                            {
                                                                                                    print("<td align='center' bgcolor='#dddddd'>" . $col[$i][$c] . "</td>");
                                                                                            } //$col[$i][$c]
                                                                                    else
                                                                                            {
                                                                                                    print("<td height='40'></td>");
                                                                                            }
                                                                             //$i = 1; $i <= $total_rounds + 1; $i++
                                                                    print("</tr>");
                                                             //$c = 1; $c <= ($this->tournament_size * 2); $c++
                                                    print("</table>");
                                             //$i = 1; $i <= $total_rounds; $i++
                            
                    //*************************************************************************************
                    // Function getmatch
                    // Input - match_id
                    // Operation - Retrives all the information saved for the parsed match_id
                    //*************************************************************************************
                    function getmatch($match_id)
                            {
                                    $query  = "SELECT * FROM tms_matches WHERE id = " . (string) $match_id;
                                    $result = mysql_query($query);
                                    $row    = mysql_fetch_assoc($result);
                                    mysql_free_result($result);
                                    return $row;
                            }
                    //*************************************************************************************
                    // Function getteamname
                    // Input - team_id
                    // Operation - Returns the name of the team with the parsed team ID
                    //***********************************************************************************    **
                    function getteamname($team_id)
                            {
                                    $query = "SELECT name FROM tms_teams_" . (string) $this->tournament_id . " WHERE id =     " . (string) $team_id;
                                    $result = mysql_query($query) or die('Error, query failed');
                                    return mysql_result($result, 0);
                            }
                    //*************************************************************************************
                    // Function getstvdetails
                    // Input - stv_id
                    // Operation - Returns the IP Address of the parsed stv id
                    //*************************************************************************************
                    function getstvdetails($stv_id)
                            {
                                    $query  = "SELECT address FROM tms_stvs WHERE id = " . (string) $stv_id;
                                    $result = mysql_query($query);
                                    return mysql_result($result, 0);
                            }
                    //*************************************************************************************
                    // Function getmatches
                    // Input round_no
                    // Operation - Returns an array of all the matches for the parse round. The array is sorted by the position field.
                    //*************************************************************************************
                    function getmatches($round_no)
                            {
                                    $matches_avail = array( );
                                    $tmp_row       = array( );
                                    $query         = "SELECT * FROM tms_matches WHERE id_tournament = " . $this->tournament_id . "
    AND round = " . (string) $round_no . " ORDER BY position";
                                    $result        = mysql_query($query);
                                    while($row = mysql_fetch_assoc($result))
                                            {
                                                    $tmp_row = $row;
                                                    if($row['status'] == 1)
                                                            {
                                                                    $row = array_merge($row, array(
                                                                                    "print_team" => "Winner of
    " . $row['id_match_parent_a']
                                                                    ));
                                                            } //$row['status'] == 1
                                                    else
                                                            {
                                                                    $row = array_merge($row, array(
                                                                                    "print_team" => "Teams" . $row['id_team_a']
                                                                    ));
                                                                    //team A
                                                            }
                                                    $matches_avail[ ] = $row;
                                                    $row              = $tmp_row;
                                                    if($row['status'] == 1)
                                                            {
                                                                    $row = array_merge($row, array(
                                                                                    "print_team" => "Winner of
    " . $row['id_match_parent_b']
                                                                    ));
                                                            } //$row['status'] == 1
                                                    else
                                                            {
                                                                    $row = array_merge($row, array(
                                                                                    "print_team" => "Teams" . $row['id_team_b']
                                                                    ));
                                                                    //team B
                                                            }
                                                    $matches_avail[ ] = $row;
                                                    unset($tmp_row);
                                            } //$row = mysql_fetch_assoc($result)
                                    return $matches_avail;
                            }
                    //*************************************************************************************
                    // destructor
                    // Operation - Frees memory held by SQL result sets
                    //*************************************************************************************
                    function __destruct( )
                            {
                                    mysql_free_result($this->result_servers);
                                    mysql_free_result($this->result_stvs);
                                    mysql_free_result($this->result_matches);
                                    mysql_free_result($this->result_teams);
                                    mysql_close();
                            }
            }
            }}}
?>

tms_tournament

CREATE TABLE `tms_tournament` (
`id` int(11) NOT NULL auto_increment,
`id_game` int(11) NOT NULL,
`name` varchar(128) collate latin1_general_ci NOT NULL,
`format` varchar(16) collate latin1_general_ci NOT NULL,
`starttime` varchar(19) collate latin1_general_ci NOT NULL,
`size` int(11) NOT NULL,
`status` int(11) NOT NULL,
`frequency` varchar(16) collate latin1_general_ci NOT NULL,
`seeded` int(11) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1830 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci PACK_KEYS=1

tms_stvs

CREATE TABLE `tms_stvs` (
`id` int(11) NOT NULL auto_increment,
`id_game` int(11) NOT NULL,
`id_tournament` int(11) NOT NULL,
`address` varchar(32) collate latin1_general_ci NOT NULL,
`rcon` varchar(32) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=60 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci
  • Solution

the file of code in post #5 isn't running any code. that's just the class definition. browsing to that file WON'T produce any output.

 

you would need to include/autoload that file, make an instance of that class, and reference the class methods/properties of that class.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.