- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在学习使用 MySQL 使用 php 创建网页。想运行脚本,但我失败了。我得到白屏死机。你能不能看看代码,告诉我该做什么,我应该往哪个方向走。感谢您的宝贵时间。
<?php
include 'include.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;
} elseif ($c > (($this->tournament_size*2)+1)-$offset) { // blank space
$col[$i][$c] = 0;
} elseif ($c==$offset) {
if ($i==$total_rounds) { //No match but tournament winner
$col[$i][$c] = "Champion";
}else { //print a team here
$tmp_array=array_shift($round_matches);
$col[$i][$c] = $tmp_array['print_team'];
}
} elseif ((($c-$offset) % $interval) == 0) { //print a team here
$tmp_array=array_shift($round_matches);
$col[$i][$c] = $tmp_array['print_team'];
} elseif ($c==($offset*2)) { //print match here
$col[$i][$c] = "Match".$tmp_array['id'];
} elseif ((($c-$offset*2) % ($interval*2)) == 0) { //print match here
$col[$i][$c] = "Match".$tmp_array['id'];
} else {
$col[$i][$c] = 0; // blank space
}
print("<br>");
}
// 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>");
}
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>");
} elseif (strcmp(substr($col[$i][$c],0,5),"Teams")==0) {
print("<td align='center' bgcolor='#dddddd'>".$this->getteamname(substr($col[$i] [$c],5))."</td>");
} elseif ($col[$i][$c]) {
print("<td align='center' bgcolor='#dddddd'>".$col[$i][$c]."</td>");
} else {
print("<td height='40'></td>");
}
}
print("</tr>");
}
print("</table>");
}
}
//*************************************************************************************
// 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']));
} 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']));
} else {
$row =
array_merge($row,array("print_team"=>"Teams".$row['id_team_b']));//team B
}
$matches_avail[] = $row;
unset($tmp_row);
}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();
}
}
?>
最佳答案
我找不到任何问题,但我清理了你的代码,也许这会帮助别人找到你的问题。
<?php
include('include.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();
}
}
?>
关于php - 动态sql php页面上的白屏死机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31588655/
我在 JavaScript 文件中运行 PHP,例如...... var = '';). 我需要使用 JavaScript 来扫描字符串中的 PHP 定界符(打开和关闭 PHP 的 )。 我已经知道使
我希望能够做这样的事情: php --determine-oldest-supported-php-version test.php 并得到这个输出: 7.2 也就是说,php 二进制检查 test.
我正在开发一个目前不使用任何框架的大型 php 站点。我的大问题是,随着时间的推移慢慢尝试将框架融入应用程序是否可取,例如在创建的新部件和更新的旧部件中? 比如所有的页面都是直接通过url服务的,有几
下面是我的源代码,我想在同一页面顶部的另一个 php 脚本中使用位于底部 php 脚本的变量 $r1。我需要一个简单的解决方案来解决这个问题。我想在代码中存在的更新查询中使用该变量。 $name)
我正在制作一个网站,根据不同的情况进行大量 PHP 重定向。就像这样...... header("Location: somesite.com/redirectedpage.php"); 为了安全起见
我有一个旧网站,我的 php 标签从 因为短标签已经显示出安全问题,并且在未来的版本中将不被支持。 关于php - 如何避免在 php 文件中写入
我有一个用 PHP 编写的配置文件,如下所示, 所以我想用PHP开发一个接口(interface),它可以编辑文件值,如$WEBPATH , $ACCOUNTPATH和 const值(value)观
我试图制作一个登录页面来学习基本的PHP,首先我希望我的独立PHP文件存储HTML文件的输入(带有表单),但是当我按下按钮时(触发POST到PHP脚本) )我一直收到令人不愉快的错误。 我已经搜索了S
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
这个问题已经有答案了: 已关闭11 年前。 Possible Duplicate: What is the max key size for an array in PHP? 正如标题所说,我想知道
我正在寻找一种让 PHP 以一种形式打印任意数组的方法,我可以将该数组作为赋值包含在我的(测试)代码中。 print_r 产生例如: Array ( [0] => qsr-part:1285 [1]
关闭。这个问题需要多问focused 。目前不接受答案。 想要改进此问题吗?更新问题,使其仅关注一个问题 editing this post . 已关闭 9 年前。 Improve this ques
我在 MySQL 数据库中有一个表,其中存储餐厅在每个工作日和时段提供的菜单。 表结构如下: i_type i_name i_cost i_day i_start i_
我有两页。 test1.php 和 test2.php。 我想做的就是在 test1.php 上点击提交,并将 test2.php 显示在 div 中。这实际上工作正常,但我需要向 test2.php
我得到了这个代码。我想通过textarea更新mysql。我在textarea中回显我的MySQL,但我不知道如何更新它,我应该把所有东西都放进去吗,因为_GET模式没有给我任何东西,我也尝试_GET
首先,我是 php 的新手,所以我仍在努力学习。我在 Wordpress 上创建了一个表单,我想将值插入一个表(data_test 表,我已经管理了),然后从 data_test 表中获取所有列(id
我有以下函数可以清理用户或网址的输入: function SanitizeString($var) { $var=stripslashes($var); $va
我有一个 html 页面,它使用 php 文件查询数据库,然后让用户登录,否则拒绝访问。我遇到的问题是它只是重定向到 php 文件的 url,并且从不对发生的事情提供反馈。这是我第一次使用 html、
我有一个页面充满了指向 pdf 的链接,我想跟踪哪些链接被单击。我以为我可以做如下的事情,但遇到了问题: query($sql); if($result){
我正在使用 从外部文本文件加载 HTML/PHP 代码 $f = fopen($filename, "r"); while ($line = fgets($f, 4096)) { print $l
我是一名优秀的程序员,十分优秀!