【问题标题】:PHP Link Click counterPHP 链接点击计数器
【发布时间】:2011-07-29 16:56:46
【问题描述】:

我想为链接/标签编写简单的计数器。所以我有标签并随机显示到网站上

$zmienna = "SELECT name, link FROM tag_content ORDER BY RAND() LIMIT 4";
$result2 = mysql_query($zmienna);
echo $result2;
while($row=mysql_fetch_array($result2)){
    echo "<a href='http://www.simplelink.xx/tag/".$row['link']."'>".$row['name']."</a><br>";
}

现在我想计算有多少用户点击了标签。我创建了另一行名为“wys”并尝试编写 SQL 内容

$wtf = "UPDATE tag_content SET wys=wys+1 WHERE id=2";
$result3=mysql_query($wtf);

如您所见,它仅适用于标签 id = 2。现在的问题是:如何使其适用于所有标签?

例如:我有 4 个不同 id 的标签。如何让计数器“读取”实际点击的标签并使其在“wys”中添加“1”?

感谢帮助,如果您需要更多信息(如代码等),请告诉我

【问题讨论】:

    标签: php database hyperlink counter


    【解决方案1】:

    由于link 字段是唯一的,您可以简单地将其用作标识符而不是id

    $wtf = "UPDATE tag_content SET wys=wys+1 WHERE link='".$something."";
    

    $something 是页面 URL 的最后一部分(你应该解析它)。当然,你还需要在使用它之前检查这个变量,因为你是从客户端获取的,它可能有 SQL 注入代码。

    【讨论】:

    • 您确定该链接是唯一的吗?如果是这样,他为什么还要提供一个名字?我猜一个链接可以有多个标签名称,因此唯一标识符将是名称和链接的组合。
    • 链接的id是id_tag。你的想法很好(也可以使用 id=""),但它只适用于一个标签。如何让它“读取” id_tag 用户点击的内容?
    • @Johan 是的,我确定,因为echo "&lt;a href='http://www.simplelink.xx/tag/".$row['link']."'&gt;- 它必须是唯一的
    • @Amay 我的意思是我的代码将被放置在处理和显示各种标签页的目标脚本中。因此它接收 URL,提取标签链接并使用它作为唯一标识符更新数据库行。
    • 所以脚本应该取自 php id_tag,执行 SQL 命令来更新数据库并将结果发送回 php?然后使用 选项?如果是的话,你能告诉我js脚本应该是什么样子吗?
    【解决方案2】:

    您需要一种方法来获取所有链接的 id。要么将其作为链接的查询参数提供,要么使用从单击的链接中解析出名称和 url 并进行相关的 SELECT 以获取要循环的 id。

    【讨论】:

      【解决方案3】:

      使用 jquery :eq() 选择器找出确切的链接,然后发出 ajax 请求以更新计数

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-29
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      相关资源
      最近更新 更多