在PHP中创建链接的点击次数

时间:2012-03-31 17:22:00

标签: php mysql

我想创建一个代码,用于计算我网站上链接的点击次数,并将1加到mysql数据库中的LINKCOUNT行,但是我在编码方面遇到了麻烦。

当我点击我网站上的LINK时,这是我的代码:

mysql_connect("localhost", "123", "123") or die(mysql_error());
mysql_select_db("123") or die(mysql_error());

$result = mysql_query("SELECT id, sitename FROM links WHERE siteurl = \"www\"");
$row = mysql_fetch_array($result);

mysql_query("INSERT INTO links (linkcount) VALUES  $row['linkcount']");
$count = 0;

不确定这是否是正确的做法,任何想法代码将是什么?

修改

我现在可以在LINKCOUNT行添加1,但是我点击的每个链接都会添加到同一行,我需要每个链接都有单独的行和点击次数。

2 个答案:

答案 0 :(得分:5)

尝试此查询:

UPDATE `links` SET `linkcount` = `linkcount` + 1 WHERE `siteurl` = 'www'

关于您的代码:您的查询未选择linkcount列,因此$row['linkcount']始终为空。

编辑:

如果您的表格不包含您要跟踪的每个链接的行,则应使用以下类型的代码:

mysql_query("UPDATE `links` SET `linkcount` = `linkcount` + 1 WHERE `siteurl` = 'SITE_URL'");
if(mysql_affected_rows() == 0)
    mysql_query("INSERT INTO `links` (`sitename`, `siteurl`, `linkcounter`) VALUES ('SITE_NAME', 'SITE_URL', 1)");

您必须插入正确的SITE_NAME和SITE_URL

答案 1 :(得分:1)

您可以使用md5哈希链接。使用链接的md5sum作为主键,并检查表中的链接。如果它已经存在,则进行更新,或者将md5sum插入到包含linkcount = 0的表中。

请按照以下步骤操作:

  • 获取链接的md5sum
  • 在桌面上触发选择查询以检查该md5sum
  • 如果返回的行数超过0,则触发一个更新查询,如

UPDATE links SET linkcount = linkcount + 1 WHERE md5sum = "md5sum"

  • 否则,使用linkcount = 1
  • 在表格中插入新行