Counter auf MySQL Basis

Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren, besteht auch die Möglichkeit, MySQL zu verwenden.

Neben der Möglichkeitet, einen Counter per Textfiles zu programmieren, besteht auch die Möglichkeit, MySQL zu verwenden. Hierzu benötigt man eine Tabelle namens counter mit den Spalten:
ID (INT, auto_increment), counter(INT), ip(VARCHAR)

Da es unnötig ist, bei jedem Aufruf per IF Abfrage zu checken, ob bereits eine Zeile in der Tabelle counter besteht, empfiehlt es sich, diese manuell zu erstellen, um Rechenzeit zu sparen. Somit erstellt man eine neue Zeile, beispielsweise mit PHPmyADMIN, die den Wert ID=1 enthält. Alternativ kann jedoch auch folgender DUMP verwendet und in die Datenbank eingefügt werden.

CREATE TABLE counter ( 
id int(11) NOT NULL auto_increment, 
counter varchar(10) NOT NULL default '', 
ip varchar(50) NOT NULL default '', 
PRIMARY KEY (id) ) TYPE=MyISAM;
INSERT INTO counter VALUES (1, '0', '');

Im Script selbst baut man zunächst eine Datenbankverbindung auf. Tragen Sie dazu Ihre Daten ein.

<?php
$db
=mysql_connect ("localhost","Benutzername","Passwort"); 
mysql_select_db ("datenbankname"$db); 
?>

Nun folgt die Ausgabe der Tabellenzeile.

<?php
$result
=mysql_fetch_object(mysql_query("select * from counter where id='1'",$db)); 
?>

Nun ist zu prüfen, ob der aktuelle Besucher schon einmal gezählt wurde. Schliesslich will man Mehrfachzählungen nach Möglichkeit vermeiden. Als Anhaltspunkt dient hier die IP Adresse des Users. Diese wird mit der bereits in der Datenbank gespeicherten IP des letzten Users verglichen. Ist diese ungleich, ist der Besucher also das erste Mal auf der Seite, so werden die aktuellen Daten mit der UPDATE Funktion von MySQL aktualisiert: der Counter wird um den Wert 1 erhöht. Vorsicht jedoch: Verwenden Sie auf jeden Fall ++$result->counter, da der oftmals falsch verwendete Befehl $result->counter++ den Wert erst nach der Verarbeitung der Variablen um den Wert 1 erhöhen würde. Zusätzlich dazu wird die aktuelle IP Adresse per REMOTE_ADDR eingetragen beziehungsweise aktualisiert.

<?php
if($result->ip != $REMOTE_ADDR

$newcounter= ++$result->counter
mysql_query("UPDATE counter SET counter='$newcounter', ip='$REMOTE_ADDR' WHERE id='1'",$db); 
}
?>

Zum Schluss erfolgt die Ausgabe der Besucherzahl.

<?php
echo "Sie sind der $result->counter. Besucher"
?>

Der komplette Code:

<?php
$db
=mysql_connect ("localhost","",""); 
mysql_select_db ("daten"$db); 

$result=mysql_fetch_object(mysql_query("select * from counter where id='1'",$db)); 

if(
$result->ip != $REMOTE_ADDR

$newcounter= ++$result->counter
mysql_query("UPDATE counter SET counter='$newcounter', ip='$REMOTE_ADDR' WHERE id='1'",$db); 

echo 
"Sie sind der $result->counter. Besucher"
?>

Erfahrungen


sehr gut
Geschrieben von tayadina Am 09.05.2010 19:49:15

Hier Kannst Du einen Kommentar verfassen


Bitte gib mindestens 10 Zeichen ein.
Wird geladen... Bitte warte.
* Pflichtangabe

Verwandte Beiträge

Das 'Nested Sets' Modell - Bäume mit SQL

Das 'Nested Sets' Modell - Bäume mit SQL

Dieses Tutorial beschreibt die 'Nested Sets'-Technik, mit der man solche Bäume mit SQL performant konstruieren kann. ...

gorski@

Autor : gorski@
Kategorie: mySQL-Tutorials

Login Skript mit OOP, Sessions und einer MySql Datenbank (Teil 1)

Realisierung eines Login Skriptes mit einer MySql Datenbank, Sessions und PHP mit Objekt orientierter Programmierung. ...

Samir

Autor : Samir
Kategorie: PHP-Tutorials

PHP cURL-Tutorial: Verwendung von cURL zum Durchführen von HTTP-Anfragen

cURL ist eine leistungsstarke PHP-Erweiterung, die es Ihnen ermöglicht, mit verschiedenen Servern über verschiedene Protokolle wie HTTP, HTTPS, FTP und mehr zu kommunizieren. ...

TheMax

Autor : TheMax
Kategorie: PHP-Tutorials

Templates in PHP

Ein kleines Tutorial zum Einsatz von Templates in PHP am Beispiel der Apolda Templateklasse (kuerbis.org/template/) ...

stulgies@

Autor : stulgies@
Kategorie: PHP-Tutorials

Grundlagen von Views in MySQL

Views in einer MySQL-Datenbank bieten die Möglichkeit, eine virtuelle Tabelle basierend auf dem Ergebnis einer SQL-Abfrage zu erstellen. ...

admin

Autor : admin
Kategorie: mySQL-Tutorials

Datenbankinhalt für Suchmaschinen aufbereiten

Sie haben eine Datenbankanwendung geschrieben und keiner weiß, welche Daten bei Ihnen zu finden sind. Suchmaschinen gehen natürlich nicht so weit, daß sie Abfragen an die Datenbank senden. Somit bleibt der Inhalt Ihrer Tabelle für Suchmaschinen unsichtbar ...

Wolfgang13

Autor : Wolfgang13
Kategorie: SEO Tutorials

Was muss ich in WordPress einstellen, damit Google Fonts nicht mehr geladen werden?

Möchten Du WordPress davon abhalten, Google Fonts zu verwenden? Hier erfährst Du, was du dafür in WordPress einstellen musst. ...

admin

Autor : admin
Kategorie: Sonstige Tutorials

Tutorial veröffentlichen

Tutorial veröffentlichen

Teile Dein Wissen mit anderen Entwicklern weltweit

Du bist Profi in deinem Bereich und möchtest dein Wissen teilen, dann melde dich jetzt an und teile es mit unserer PHP-Community

mehr erfahren

Tutorial veröffentlichen