Post-Übersicht

Forum » mh_branchenbuch » Probleme mit dem Hit-Counter

Write a post ...

«« 1 2 »»

Author Message

ManfredE

Offline Author

Level 7 (53 %)

 

Posts: 62

Klaro.
Also in der pi1 muß oben erstmal die Single-Ansicht auf nocache gestellt werden, damit man bei jeder Single-Ansicht einen Datenbankzugriff erzwingt:

case 'SINGLE':
$GLOBALS["TSFE"]->set_no_cache(); // wurde eingeführt, weil sonst der Klickzähler nicht funktioniert
$content .= $this->displaySingle($pid,$catId);

break;


************

dann habe ich in der getItem() Funktion dazugehackt:

// das soll der Klickzähler werden
if($detail){ //wenn also Single-View
$detailuid = $row['uid']; //damit wir die UID des Eintrages haben
$IP= $_SERVER['REMOTE_ADDR']; //damit wir die Adresse des Zugreifenden Users haben
$checkTable = $GLOBALS['TYPO3_DB']->sql(TYPO3_db,"SELECT * FROM " . $this->dbTable6 . " WHERE ip = '$IP' AND fid = " . intval($detailuid) . " AND logdate = CURDATE()";);
if(!$GLOBALS['TYPO3_DB']->sql_num_rows($checkTable)) {
$GLOBALS['TYPO3_DB']->sql(TYPO3_db,"INSERT INTO " . $this->dbTable6 . " SET logdate = NOW(), tstamp = " . time() . ", fid = " . intval($detailuid) . ", ip = '$IP'";);
$GLOBALS['TYPO3_DB']->sql(TYPO3_db,"UPDATE " . $this->dbTable1 . " SET hit_count = hit_count+1 WHERE uid = " . intval($detailuid));

}


So einfach ;-)

Die Sache hat natürlich auch wieder zwei Seiten:
Da pro Detailzugriff jetzt die Funktion getItem aufgerufen werden muß + noch ein Eintrag in der IP-SQL-Tabelle gemacht wird, weiß ich nicht, ob es bei gut besuchten Seiten auch noch sinnvoll ist....



Gruß Manfred


Posted: 24.12.09, 10:18

Quote

Timoslav

Offline

Level 5 (89 %)

 

Posts: 21

super danke manfred!


Posted: 25.12.09, 21:29

Quote


«« 1 2 »»

Powered by MH-Dev.-Board (c) 2009 MH-Dev. - Webdevelopment.