Du må bruke ajax (asynkron javascript) og kjøre et script på serveren når noen trykker på lenker, slik at du lagrer enten adressen (href) til lenken, ID eller noe annet som du kan kjenne igjen lenken ved eller finne rette kolonne i databasen og bare øke et tall e.l. og når dette er lagret, gå videre til lenken.
Det vil være enklere å bruke en "mellomside", men da må du selvfølgelig lenke til den siden i stedet, og så ha en querystring eller noe slikt med den virkelige lenken, og en videresending dit når klikket er registrert.
En ajax forespørsel gjør man slik, i jQuery (gidder ikke skriver det i vanlig javascript ettersom det blir ti ganger lengre) :
PHP:
$('a').on('click', function(e) { //velger alle a elementer
e.preventDefault(); //forhindrer det opprinnelige klikket fra å gå videre
var self=this; //lagre pga scope
$.ajax({ //sender ajax til serveren
type: 'POST',
url : 'lagre_klikk.php'
data: {href : self.href}
}).always(function() { // når ajax er ferdig og alt er lagret i database...
document.location.href = self.href; //gå videre til siden som ble klikket
});
});
så på serveren i "lagre_klikk.php" tar du igjen lenken slik:
PHP:
<?php
$url = $_POST['href']
//lagre URL i databasen
$db = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$db->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$query = $db->prepare("INSERT INTO lenker ( href ) values ( '".$url."' )");
$query->execute();
?>
litt ettersom hvordan du legger ting i databasen (helst uten å bruke mysql funksjonene).