[英]How can I display 0 if there doesn't exist any month in the database using codeigniter?
[英]How can I display information on a page that doesn't physically exist?
我已经用html和jquery制作了搜索表单。 当我在搜索字段中输入名称,然后单击搜索时,它检查了我指定的MySQL数据库,并在搜索字段中显示了包含文本的所有名称。 该网址为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 / nick-name
但是,如果您的系统不支持此功能,则需要进行更多工作。
您需要为此使用PHP
例如,您将每个结果发送到player.php?id = PLAYER_ID,并且在该页面上,您需要使用请求的ID从数据库获取该玩家信息
检查以下链接,使您更轻松
这是使用mod_rewrite完成的,mod_rewrite是用于根据模式重写URL的模块。 您通常将这些模式输入到名为“ .htaccess”的文件中,并将其放入Web根目录中。
例如:
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来了解如何做到这一点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.