我想创建一个代码,用于计算我网站上链接的点击次数,并将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,但是我点击的每个链接都会添加到同一行,我需要每个链接都有单独的行和点击次数。
答案 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
的表中。
请按照以下步骤操作:
UPDATE links SET linkcount = linkcount + 1 WHERE md5sum = "md5sum"
linkcount = 1