PHP MySQL 计分板 link 到个人资料页面
PHP MySQL scoreboard with link to profile page
我有一个带有记分牌的 wordpress 网站,该记分牌从 wp 数据库中的视图中获取结果,我已经在自定义页面上设置了记分牌 template.My link 中的玩家遇到了麻烦记分牌到一个包含球员统计数据等的新页面。我希望能够单击记分牌中的球员姓名,然后进入包含该球员统计信息的页面。
这里是显示记分牌的相关代码:
<?php //Table with SQL Query
$connection = mysql_connect('localhost', 'root', '');
mysql_set_charset('utf8',$connection);
mysql_select_db('worldsbestblog');
$query = "SELECT * FROM Sammenlagt LIMIT 0,20";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){ //Loop through results
echo "<tr><td>" . $row['Dato'] . "</td>
<td>
<a href=\"fasan.php?id=". $row["spillerid"]."\">" . $row['Navn'] . "</a>
</td>
<td>" . $row['hull1'] . "</td><td>" . $row['hull2'] .
"</td><td>" . $row['hull3'] . "</td><td>" . $row['hull4'] .
"</td><td>" . $row['hull5'] . "</td><td>" . $row['hull6'] .
"</td><td>" . $row['hull7'] . "</td><td>" . $row['hull8'] .
"</td><td>" . $row['hull9'] . "</td><td>" . $row['hull10'] .
"</td><td>" . $row['hull11'] . "</td><td>" . $row['hull12'] .
"</td><td>" . $row['hull13'] . "</td><td>" . $row['hull14'] .
"</td><td>" . $row['hull15'] . "</td><td>" . $row['hull16'] .
"</td><td>" . $row['hull17'] . "</td><td>" . $row['hull18'] .
"</td><td>" . $row['Sammenlagt'] . "</td><td>" . $row['Par'] .
"</td><td>" . $row['Poeng'] . "</td></tr>"; //$row['index'] the index here is a column name
}
?>
我已经看到无数类似的问题,其中使用了 SESSIONS、$_POST 和 $_GET,但我无法理解或看到 how/if 这就是为了使其工作而缺少的东西。
现在我得到一个 URL 显示玩家的用户 ID,但是当点击时,wordpress 找不到那个页面。
[编辑]
好的,我做了一些编辑并找到了我的问题的答案。不确定如何在 Whosebug 上执行此操作(如果我应该在其他地方执行此操作,请指导我),但我想向您展示这项工作的内容,以便下一个人会找到此 post 并提供解释。
这是当前代码,感谢@Cal Evans 和@Hamed Momeni 提供的有用指导:
记分牌:
$query = "SELECT * FROM Sammenlagt";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){ //Creates a loop to loop through results
echo "<tr><td>" . $row['Dato'] . "</td>
<td>
<a href=\"/wordpress/teststats?id=". $row["spillerid"]."\">" . $row['Navn'] . "</a>
</td>
<td>" . $row['hull1'] . "</td><td>" . $row['hull2'] .
"</td><td>" . $row['hull3'] . "</td><td>" . $row['hull4'] .
"</td><td>" . $row['hull5'] . "</td><td>" . $row['hull6'] .
"</td><td>" . $row['hull7'] . "</td><td>" . $row['hull8'] .
"</td><td>" . $row['hull9'] . "</td><td>" . $row['hull10'] .
"</td><td>" . $row['hull11'] . "</td><td>" . $row['hull12'] .
"</td><td>" . $row['hull13'] . "</td><td>" . $row['hull14'] .
"</td><td>" . $row['hull15'] . "</td><td>" . $row['hull16'] .
"</td><td>" . $row['hull17'] . "</td><td>" . $row['hull18'] .
"</td><td>" . $row['Sammenlagt'] . "</td><td>" . $row['Par'] .
"</td><td>" . $row['Poeng'] . "</td></tr>"; //$row['index'] the index here is a column name
}
?>
.../wordpress/teststats
是一个带有自定义页面模板的新页面,代码如下:
<?php
$spid = (int) filter_input(INPUT_GET,'id', FILTER_SANITIZE_NUMBER_INT);
$spillerquery = mysql_query("SELECT * FROM Sammenlagt WHERE spillerid='$spid'") or die ("Somthing went wrong!!");
if (mysql_num_rows($spillerquery) < 1){
die ("Couldnt find that player");
}
$navnequery = mysql_query("SELECT Navn FROM Sammenlagt WHERE spillerid='$spid'") or die ("Player does not exist");
$spillernavn = mysql_result($navnequery,MYSQL_BOTH);
?>
<h2>Her er <?php echo "$spillernavn"; ?> sine resultater</h2>
<?php
while($row = mysql_fetch_array($spillerquery, MYSQL_ASSOC)){
echo "<tr><td>" . $row['Dato'] .
"</td><td>" . $row['hull1'] . "</td><td>" . $row['hull2'] .
"</td><td>" . $row['hull3'] . "</td><td>" . $row['hull4'] .
"</td><td>" . $row['hull5'] . "</td><td>" . $row['hull6'] .
"</td><td>" . $row['hull7'] . "</td><td>" . $row['hull8'] .
"</td><td>" . $row['hull9'] . "</td><td>" . $row['hull10'] .
"</td><td>" . $row['hull11'] . "</td><td>" . $row['hull12'] .
"</td><td>" . $row['hull13'] . "</td><td>" . $row['hull14'] .
"</td><td>" . $row['hull15'] . "</td><td>" . $row['hull16'] .
"</td><td>" . $row['hull17'] . "</td><td>" . $row['hull18'] .
"</td><td>" . $row['Sammenlagt'] . "</td><td>" . $row['Par'] .
"</td><td>" . $row['Poeng'] . "</td></tr>";
}
?>
如果您实际使用的是 Wordpress,我建议您使用提供的 $wpdb
object 来满足您的数据库需求。
另一个建议是在使用 Wordpress 时,您需要使用模板文件来创建不同的页面。您可以 create different page templates 用于 Wordpress 中的各种页面。这样您就可以使用 Wordpress 重新路由引擎的强大而简单的功能。
例如,假设您想为玩家统计信息创建一个页面。首先在主题目录中创建一个名为 tpl-player_stats.php
的文件,其中包含以下内容 header:
<?php
/*
Template Name: Player Stats Page
*/
然后在 Wordpress 仪表板中创建一个页面并将上述模板分配给它。之后,您可以通过 http://example.com/your_page_slug/?id=player_id
.
转到您的页面
通常这就是 Wordpress 的处理方式。所以我建议你深入研究一下。
试试这个。
<?php
//Table with SQL Query
$player_id = (int) filter_input(INPUT_GET,'id', FILTER_SANITIZE_NUMBER_INT);
$connection = mysql_connect('localhost', 'root', '');
mysql_set_charset('utf8',$connection);
mysql_select_db('worldsbestblog');
$query = "SELECT * FROM Sammenlagt where player_id = {$player_id} LIMIT 0,20";
$result = mysql_query($query);
不过,我同意 您应该使用 $wpdb
而不是创建自己的连接。这是假设您的 table 与您的 WordPress tables.
在同一个数据库中
我有一个带有记分牌的 wordpress 网站,该记分牌从 wp 数据库中的视图中获取结果,我已经在自定义页面上设置了记分牌 template.My link 中的玩家遇到了麻烦记分牌到一个包含球员统计数据等的新页面。我希望能够单击记分牌中的球员姓名,然后进入包含该球员统计信息的页面。
这里是显示记分牌的相关代码:
<?php //Table with SQL Query
$connection = mysql_connect('localhost', 'root', '');
mysql_set_charset('utf8',$connection);
mysql_select_db('worldsbestblog');
$query = "SELECT * FROM Sammenlagt LIMIT 0,20";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){ //Loop through results
echo "<tr><td>" . $row['Dato'] . "</td>
<td>
<a href=\"fasan.php?id=". $row["spillerid"]."\">" . $row['Navn'] . "</a>
</td>
<td>" . $row['hull1'] . "</td><td>" . $row['hull2'] .
"</td><td>" . $row['hull3'] . "</td><td>" . $row['hull4'] .
"</td><td>" . $row['hull5'] . "</td><td>" . $row['hull6'] .
"</td><td>" . $row['hull7'] . "</td><td>" . $row['hull8'] .
"</td><td>" . $row['hull9'] . "</td><td>" . $row['hull10'] .
"</td><td>" . $row['hull11'] . "</td><td>" . $row['hull12'] .
"</td><td>" . $row['hull13'] . "</td><td>" . $row['hull14'] .
"</td><td>" . $row['hull15'] . "</td><td>" . $row['hull16'] .
"</td><td>" . $row['hull17'] . "</td><td>" . $row['hull18'] .
"</td><td>" . $row['Sammenlagt'] . "</td><td>" . $row['Par'] .
"</td><td>" . $row['Poeng'] . "</td></tr>"; //$row['index'] the index here is a column name
}
?>
我已经看到无数类似的问题,其中使用了 SESSIONS、$_POST 和 $_GET,但我无法理解或看到 how/if 这就是为了使其工作而缺少的东西。 现在我得到一个 URL 显示玩家的用户 ID,但是当点击时,wordpress 找不到那个页面。
[编辑]
好的,我做了一些编辑并找到了我的问题的答案。不确定如何在 Whosebug 上执行此操作(如果我应该在其他地方执行此操作,请指导我),但我想向您展示这项工作的内容,以便下一个人会找到此 post 并提供解释。
这是当前代码,感谢@Cal Evans 和@Hamed Momeni 提供的有用指导:
记分牌:
$query = "SELECT * FROM Sammenlagt";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){ //Creates a loop to loop through results
echo "<tr><td>" . $row['Dato'] . "</td>
<td>
<a href=\"/wordpress/teststats?id=". $row["spillerid"]."\">" . $row['Navn'] . "</a>
</td>
<td>" . $row['hull1'] . "</td><td>" . $row['hull2'] .
"</td><td>" . $row['hull3'] . "</td><td>" . $row['hull4'] .
"</td><td>" . $row['hull5'] . "</td><td>" . $row['hull6'] .
"</td><td>" . $row['hull7'] . "</td><td>" . $row['hull8'] .
"</td><td>" . $row['hull9'] . "</td><td>" . $row['hull10'] .
"</td><td>" . $row['hull11'] . "</td><td>" . $row['hull12'] .
"</td><td>" . $row['hull13'] . "</td><td>" . $row['hull14'] .
"</td><td>" . $row['hull15'] . "</td><td>" . $row['hull16'] .
"</td><td>" . $row['hull17'] . "</td><td>" . $row['hull18'] .
"</td><td>" . $row['Sammenlagt'] . "</td><td>" . $row['Par'] .
"</td><td>" . $row['Poeng'] . "</td></tr>"; //$row['index'] the index here is a column name
}
?>
.../wordpress/teststats
是一个带有自定义页面模板的新页面,代码如下:
<?php
$spid = (int) filter_input(INPUT_GET,'id', FILTER_SANITIZE_NUMBER_INT);
$spillerquery = mysql_query("SELECT * FROM Sammenlagt WHERE spillerid='$spid'") or die ("Somthing went wrong!!");
if (mysql_num_rows($spillerquery) < 1){
die ("Couldnt find that player");
}
$navnequery = mysql_query("SELECT Navn FROM Sammenlagt WHERE spillerid='$spid'") or die ("Player does not exist");
$spillernavn = mysql_result($navnequery,MYSQL_BOTH);
?>
<h2>Her er <?php echo "$spillernavn"; ?> sine resultater</h2>
<?php
while($row = mysql_fetch_array($spillerquery, MYSQL_ASSOC)){
echo "<tr><td>" . $row['Dato'] .
"</td><td>" . $row['hull1'] . "</td><td>" . $row['hull2'] .
"</td><td>" . $row['hull3'] . "</td><td>" . $row['hull4'] .
"</td><td>" . $row['hull5'] . "</td><td>" . $row['hull6'] .
"</td><td>" . $row['hull7'] . "</td><td>" . $row['hull8'] .
"</td><td>" . $row['hull9'] . "</td><td>" . $row['hull10'] .
"</td><td>" . $row['hull11'] . "</td><td>" . $row['hull12'] .
"</td><td>" . $row['hull13'] . "</td><td>" . $row['hull14'] .
"</td><td>" . $row['hull15'] . "</td><td>" . $row['hull16'] .
"</td><td>" . $row['hull17'] . "</td><td>" . $row['hull18'] .
"</td><td>" . $row['Sammenlagt'] . "</td><td>" . $row['Par'] .
"</td><td>" . $row['Poeng'] . "</td></tr>";
}
?>
如果您实际使用的是 Wordpress,我建议您使用提供的 $wpdb
object 来满足您的数据库需求。
另一个建议是在使用 Wordpress 时,您需要使用模板文件来创建不同的页面。您可以 create different page templates 用于 Wordpress 中的各种页面。这样您就可以使用 Wordpress 重新路由引擎的强大而简单的功能。
例如,假设您想为玩家统计信息创建一个页面。首先在主题目录中创建一个名为 tpl-player_stats.php
的文件,其中包含以下内容 header:
<?php
/*
Template Name: Player Stats Page
*/
然后在 Wordpress 仪表板中创建一个页面并将上述模板分配给它。之后,您可以通过 http://example.com/your_page_slug/?id=player_id
.
转到您的页面
通常这就是 Wordpress 的处理方式。所以我建议你深入研究一下。
试试这个。
<?php
//Table with SQL Query
$player_id = (int) filter_input(INPUT_GET,'id', FILTER_SANITIZE_NUMBER_INT);
$connection = mysql_connect('localhost', 'root', '');
mysql_set_charset('utf8',$connection);
mysql_select_db('worldsbestblog');
$query = "SELECT * FROM Sammenlagt where player_id = {$player_id} LIMIT 0,20";
$result = mysql_query($query);
不过,我同意 $wpdb
而不是创建自己的连接。这是假设您的 table 与您的 WordPress tables.