hi leute!
ich habe eine produkttabelle mit der spalte prod_count. ich möchte nun, sobald das produkt aufgerufen wird, dass dies gezählt wird. wenn der kunde aber öfter klickt, soll der mehrmalige klick nicht gezählt werden. ich verwende hier noch keine sessions!
wäre nett wenn ihr mir sagen würdet ob meine lösung korrekt ist:
1. ich habe eine zusätzliche tabelle "count_nonreccurence" mit den feldern ip, prod_id, time erstellt, in welche ich beim produktaufruf die betreffenden daten speichern lasse. das ganze schaut schematisch so aus:
beim produktaufruf:
PHP-Code:
<?php
// schauen ob bereits ein count vorliegt:
$sql = "SELECT prod_id
FROM products
WHERE prod_id = '$prod_id'
AND ip = '".$_SERVER['REMOTE_ADDR']."'";
$query = mysql_query($sql);
// wenn kein count innerhalb von 30min vorliegt -> counten:
if(mysql_num_rows($query) != 0) {
$sql = "UPDATE products
SET prod_count = prod_count + 1
WHERE prod_id = '$prod_id'";
$query = mysql_query($sql);
// und in die kontrolltabelle eintragen:
$sql = "INSERT into count_nonreccurence
(prod_id,
customer_ip,
timestamp)
VALUES ('$prod_id',
'".$_SERVER['REMOTE_ADDR']"',
NOW)";
$query = mysql_query($sql);
}
// alte einträge löschen:
$timerange = time() - 1800;
$sql = "DELETE FROM products
WHERE prod_id = '$prod_id'
AND timestamp < '$timerange'";
$query = mysql_query($sql);
?>