我有一个玩家的列表,我将举一个例子来说明一个基本概念。
<div>
<ul id="playerNames">
<li><b>Harden</b></li>
<li><b>Giannis</b></li>
<li><b>Lebron</b></li>
<li><b>Booker</b></li>
<li><b>Lavine</b></li>
<li><b>Westbrook</b></li>
<li><b>Jokic</b></li>
</ul>
</div>
我想做的是为每个球员创建一个不同的URL,这样当点击时,用户将被重定向到一个新的页面,在那里我将显示信息,如球员的数据,投篮图,简历等。有没有办法让我用一个HTML文件模板来处理所有这些(大约500个)球员?每个页面的结构基本上是一样的,所有改变的是实际的数字和图片显示,我已经存储在csv和其他位置,我想加载。
csv的示例行(列名不在此显示)这里只是如果有人因为某种原因不熟悉csv是什么。
203932,Aaron Gordon,1610612753,ORL,24.0,58,28,30,0.483,1913.7333333333333,314,726,0.433,68,226,0.301,137,203,0.675,103,338,441,215,94,50,36,41,116,188,833,-96,1848.7,19,1,117,140,392,242,41,77,64,273,141,108,320,75,58,352,41,28,26,62,85,106,77,448,372,52,83,420,52,28,16,5,"203932,1610612753"
我正在研究查询字符串,并认为它们可能是最好的方法,但我从来没有使用过它们,所以这可能不是真的。
总之,我想避免创建500多个html文件,这些文件看起来几乎是一样的。如果有人有解决这个问题的办法,我洗耳恭听。
如果你想让所有的球员信息都在一个单独的.html文件中,那么你可以用 <b>PlayerName</b>
标签 <a>
标签,像这样。<a href="playerInfo.html"><b>PlayerName</b></a>
playerInfo.html就是所有球员信息所在的页面。然后,在该球员信息的HTML元素上加一个id,这样链接就会自动将页面向下滚动到该id的元素上。
index.html:
<a href="playerInfo.html#Harden"><b>Harden</b></a>
playInfo.html。
<div id="Harden">
PLAYER INFO HTML
</div>
正如skobaljic所说的,在HTML元素中加入 "?=playerid"
是(在我看来)最好的解决方案。查询字符串使这个任务相当简单。我的解决方案如下。
在PHP中,当制作列表时,在URL中添加一个包含玩家ID的链接,使用一个查询字符串。
<a href='nba_player_stats_page.html?player=" . $ids[0] . "'>"
然后,在一个单独的PHP文件中,抓取页面的URL,然后把ID扣下来,以匹配被点击的玩家的ID。
$url = $_SERVER['HTTP_REFERER'];
$id = substr($url, strpos($url, "=") + 1);
最后,使用ajax加载php文件。
$.ajax({
url:'nba_player_stats.php',
method: 'GET',
success:function(res){
$('#playerStats').html(res)
// $('#playerNames').replaceWith(res);
}
})
这个基本结构应该可以帮助大家解决类似的问题。