我用html和jquery制作了我的搜索表单。当我在搜索字段中输入一个名称并单击search时,它会检查我指定的MySQL数据库,并在搜索字段中显示包含文本的任何名称。url是localhost/players.html,因为我现在正在apache上测试它,它是一个游戏服务器玩家统计页面。
我的结果显示了我想要的结果,在一个表中,列中显示了某些信息。
当点击一个结果时,我想在一个新页面上显示玩家统计数据,但我不想为每个注册玩家创建和存储数千个页面。所以我想让它创建一个虚拟页面,或者类似的东西。在链接被点击的地方,URL将是/players/PlayerName.html或者如果这是不可能的也许是players.php?action=getstats(PlayerName)我真的不知道如何做到这一点,或者如果它是可能的。
我想让它工作,如果我输入www.myurl.co.uk/players/PlayerName.html,它会显示统计页面的播放器,没有实际存在的html页面。
像这样做
创建一个名为"player.php"的页面,该页面将接收参数UserID。
所以在你的高分表中为每个玩家添加链接指向这个页面,参数UserID
<a href="/player.php?player_id=xxxxx">Player</a>
当点击时它会转到player。php你可以通过全局$_GET变量获取参数,就像这样
$player_id = $_GET["player_id"]
在页面中选择用户的数据
$sql = "select * from player_stat where UserID = " . $player_id;
在添加到查询之前,请记住mysql_escape $player_id,以避免SQL注入
这是一种简单的方法,你也可以用URL重写apache模块,以获得友好的URL,如/player/stat/nickname
需要使用PHP
例如,你将发送每个结果到player.php?id=PLAYER_ID,在该页面上,您需要使用请求的id从数据库获取该播放器信息
检查以下链接,使您更方便
http://www.w3schools.com/php/php_mysql_intro.asp http://www.w3schools.com/php/php_get.asp这是使用mod_rewrite完成的,这是一个根据模式重写url的模块。您经常将这些模式输入到一个名为"。
例如:RewriteEngine on
RewriteRule ^players/([^/]+).html.zip /search.php?playername=$1 [L]
如果你去"/players/MikeRoberts.html",那么你的PHP脚本"search.php"将收到值"MikeRoberts"(你可以使用$_GET['playername']访问)
记住:你可能需要在你的服务器上启用mod_rewrite。参见:如何在Apache 2.2中启用mod_rewrite或使用Google查找如何做到这一点。