2012-03-31 6 views
1

내 웹 사이트에있는 링크의 클릭 수를 계산하고 mysql 데이터베이스의 LINKCOUNT 행에 1을 더하고 코딩하는 데 문제가있는 코드를 만들고 싶습니다. 즉 그 일을의 올바른 방법 인 경우PHP의 링크 클릭 갯수 만들기

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을 추가 할 수 있습니다하지만 난 클릭 할 때마다 링크가 동일한 행에 추가, 나는 별도의 행이 클릭 카운트 각 링크를해야합니다. 그래서 $row['linkcount']는 항상 null의 경우, 쿼리는 linkcount 열을 선택하지 않습니다

답변

5

이 쿼리보십시오 :

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

을 그리고 당신의 코드에 대해.

편집 :

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

를 삽입해야합니다 : 테이블은 추적 할 모든 링크에 대한 행을 포함하지 않는 경우

, 당신은 코드의 종류를 사용한다

+0

linkcount = 1 내가 코드의 행 또는 UPDATE 내 코드에서 선을 대체를 추가해야합니다, 감사와 함께 테이블에 새로운 행을 삽입? – user1295105

+0

php 측에 현재 카운터가 필요하지 않은 경우 업데이트 문으로 충분합니다. – MarcinJuraszek

+0

코드에서 마지막 두 줄을 제거하고 코드로 바꾸었지만 데이터베이스의 LINKCOUNT 열에 1을 더하지 않습니다. – user1295105

1

md5으로 링크를 해시 할 수 있습니다. 링크의 md5sum을 기본 키로 사용하고 테이블의 링크를 확인하십시오. 이미 존재하는 경우 업데이트를 수행하거나 linkcount = 0 테이블에 md5sum을 삽입하십시오.

  • 링크의 md5sum이
  • 화재 0 행이 업데이트 쿼리 불을 반환보다 더가있는 경우 그 md5sum이
  • 확인하기 위해 테이블에 선택 쿼리 가져 오기 :

    다음 단계를 따르십시오 같은

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

    그렇지