0

我需要向我的应用程序的前 10 个用户提供内容,然后向后续用户显示道歉消息 - 我假设使用 MySQL 记录用户,一旦达到 10 个切换到其他内容但找不到最佳方式.. .

任何帮助表示赞赏。

谢谢

4

1 回答 1

1

基本上我会假设你想一次又一次地这样做,所以我认为最简单的方法是有一个表,在每页加载的基础上存储多行..如果特定活动的行数小于不管你想说什么,都是截断。

我会说只是在每个广告系列的基础上进行计数,但是谁知道您可能想了解更多关于您的用户的信息,可能是 ip、时间等。我肯定会说 IP,因为我可以登陆您的页面,刷新第 10 页并为其他人杀死它,因此您可能希望将其带到 IP 也是检查以限制该行为的地方。但是你可以跟踪他们降落的时间,以及所有其他的东西,尽管如此,我会保持它超级简单。

所以基本上你想做..

就像是

询问:

SELECT * FROM `load_count_table` WHERE campaignID = 1

PHP:
<?php
//note not sure which sql version your using, ie: mysql, mysqli, postgress
//so you will have to do conversion from query to php based array
//example $row = mysql_fetch_array($result);
if($countOfrows < 10)
{

   if($row['userip'] !== $ipOfcurrentuser)
   {
      //you can get IP through the global $_SERVER
      //you will want to cycle over your sql array for all the userip's to compare
      //this if statement is checking to see if there is no match
      //no match found..
      include_once('special_page.php');
      query("INSERT INTO `load_count_table` (userip, campaignID, the_time) values('$ipOfcurrentuser', '1', 'sql formated datetime, timestamp')");
   }
   else
   {
      include_once('sorry_page.php');
   }
}
else
{
  include_once('sorry_page.php');
}
?>

现在根据我在这里得到的你想要的数据库表模式

列:userip varchar(25)、campaignID int(11)、the_time 日期时间。

于 2012-08-30T17:16:26.627 回答