我有一个问题可能听起来有点混乱,但我会尽力解释我的问题。
我的 sql 数据库中有 2 个表:表 1 称为事件,表 2 称为结果
事件表包含有关过去计算机游戏比赛的条目
eg. EventID EventName EventDate Location
1 GG vs AU 04/08 Game room 1
结果表包含几乎相同的条目..但该单个条目的更多详细信息
eg. EventID MemberID Score Ranking
1 02 7(victory):5 1st
基本上,我将进入“事件”php 文件,然后我会看到条目。当我按下同一行中的任何条目时(例如 1、GGvsAU、04/08、Gameroom1),它会将我链接到结果表,这将为我提供有关该匹配的更深入的信息。在该示例中,eventID 为 1,因此当我按下同一行中的任何条目时,它会将我链接到 results.php?EventID=1
事件 php 文件运行良好,所以一切都很好.. 但是一旦我按下条目,它就会将我链接到结果 php 文件。
我现在遇到的问题是Results php文件。当我按下 Events.php 中的条目时,它会将我链接到 results.php?EventID=1,但它会显示数据库中的所有条目。我只想要 EventID1 的信息。
此外,是否可以根据下面的代码“隐藏”EventID 和“MemberID”?
事件.php
<?
$pdo = new PDO('mysql:host=localhost;dbname=clubresults', 'root', '12345678');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $pdo->query('SELECT EventID, EventName, EventDate, Location from events');
$rowset = array();
if ($query) {
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
// Build array of rows
$rowset[] = $row;
}
// Output header first
$headrow = $rowset[0];
print("<table border=\"1\">\n<tr>\n");
// Use $rowset[0] to write the table heading
foreach ($headrow as $col => $val) {
printf("<th>%s</th>\n", $col);
}
print("</tr>");
// Then output table rows.
// Outer loop iterates over row
foreach ($rowset as $row) {
print("<tr>");
// Inner loop iterates over columns using $col => $val
foreach ($row as $col => $val) {
// We don't know your column names, but substitute the first column (the ID) for FIRSTCOL here
printf("<td><a href=\"listresults.php?EventID=%s\">%s</a></td>\n", $row['EventID'],$val);
}
print("</tr>");
}
}
print("</table>");
?>
Results.php(我有问题的那个)
<?
#Get the event id from $_GET
$int_event_id = $_GET["EventID"];
if((int)$int_event_id)
{
$pdo = new PDO('mysql:host=localhost;dbname=clubresults', 'root', '12345678');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = $pdo->query('SELECT * from results WHERE EventID ='$int_event_id' ORDER By EventID ASC');
}
$rowset = array();
if ($query) {
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
// Build array of rows
$rowset[] = $row;
}
// Output header first
$headrow = $rowset[0];
print("<table border=\"1\">\n<tr>\n");
// Use $rowset[0] to write the table heading
foreach ($headrow as $col => $val) {
printf("<th>%s</th>\n", $col);
}
print("</tr>");
// Then output table rows.
// Outer loop iterates over row
foreach ($rowset as $row) {
print("<tr>");
// Inner loop iterates over columns using $col => $val
foreach ($row as $col => $val) {
// We don't know your column names, but substitute the first column (the ID) for FIRSTCOL here
printf("<td><a href=\"index.php?ID=%s\">%s</a></td>\n", $row['EventID'],$val);
}
print("</tr>");
}
}
print("</table>");
我真的很感谢任何可以帮助我解决这个问题的人!非常感谢!
最后修改与逼真的解决方案