我有PHP文件从MySQL数据库获取数据:
clubs.php
club.php
player.php
clubs.php列出tbleclubs
表中的所有俱乐部,它看起来像:
clubs.php
$database = new Database();
$res = $Db->query("SELECT * FROM tblclubs");
foreach ($res as $dataRow): ?>
<span><?php echo $dataRow['id']; ?></span>
<span><a hrer=""><?php echo $dataRow['name']; ?> </a></span>
<?php endforeach; ?>
和club.php列出了来自tblclub
表
club.php
$database = new Database();
$res = $Db->query("SELECT * FROM tblpclub");
foreach ($res as $dataRow): ?>
<span><?php echo $dataRow['id']; ?></span>
<span><a hrer=""><?php echo $dataRow['name']; ?> </a></span>
<?php endforeach; ?>
最后player.php
来自tbleplayer
:
player.php
$database = new Database();
$res = $Db->query("SELECT * FROM tblplayers");
foreach ($res as $dataRow): ?>
<span><?php echo $dataRow['id']; ?></span>
<span><a hrer=""><?php echo $dataRow['name']; ?> </a></span>
<?php endforeach; ?>
我已将tblclub的外键(FK)设置为clubs_id
,将tblplayers设置为club_id
。
现在,我的问题是,如何动态导航到下一页中的每个选定项目,如:
clubs-&GT;俱乐部 - &GT;播放器
由于
答案 0 :(得分:2)
首先,您的HTML中存在一些错误(链接应该href
而不是hrer
)
其次,使用select *
类型的查询是不好的形式;你通常应该从你的桌子上选择特定的钥匙,而不仅仅是所有钥匙。如果你想让它正常工作,你还需要链接你的表;很难说出你的表中有哪些特定的行;一些结构会有所帮助。
那就是说你需要像这样构建你的查询。例如,获取特定俱乐部的球员名单:
SELECT p.playerid, p.name,
FROM tblplayers p, tblclub c
WHERE p.club_id = c.club_id
此查询将获得特定分会上所有玩家的列表。
至于链接,您可以将链接修改为类似的内容。要链接到特定俱乐部中的特定玩家,这将是club.php到player.php的链接:
<a href="player.php?<?php echo $dataRow['playerid']; ?>"><?php echo $dataRow['name']; ?></a>
然后要获取信息,您可以使用GET变量从URL获取playerid,如下所示:$playerid = $_GET['playerid']
然后从查询中获取您的信息,做您喜欢的事情。您可以从那里以任何您喜欢的方式使用数据。
这只是一个开始,但你应该可以从中推断出其余的问题。希望这会有所帮助。
答案 1 :(得分:1)
好的,您现在正在渲染静态列表。
要使导航动态,你基本上需要3件事:
您已经开始使用链接:<a hrer="">
,但它是href
。
clubs.php - 会提供所有俱乐部的概览,并附上每个俱乐部的链接
将它放在你的foreach中,通过附加id来构建链接。
foreach ($res as $dataRow) {
$id = $dataRow['id'];
$name = $dataRow['name'];
$link = 'club.php?id=' . $id;
echo '<span>' . $id . '</span>';
echo '<span><a href="' . $link . '">' . $name. '</a></span>';
}
现在您可以点击club.php?id=2
。
但是club.php
需要处理传入的id
,对吗?
club.php - 呈现包含每个玩家链接的玩家列表
你基本上重复了上面的模式,但是使用不同的锚基础,这次它是player.php
。您应该获得包含player.php?id=x
个链接的列表。
如何处理每个脚本中的id
?
id
通过$_GET
传入。
您可以使用var_dump($_GET['id'])
查看该值。使用变量,如$id = $_GET['id']
。
(稍后,当一切正常时:不要忘记正确保护和转义传入数据。)
然后在数据库查询中使用$id
:
SELECT * FROM tblplayers WHERE player_id = ' . $id;