Suche Hilfe für ein PHP Code :-(

Mit dem Befehl
Code:
ALTER TABLE `userdata` ADD `zaehler` INT NOT NULL;
wird eine weitere Spalte Namens zaehler vom Typ int in Deine Tabelle eingefügt.
Und was die "Überwachung" ;) des Users betrifft, bin ich ein wenig überfragt, aber Du könntest nooch eine weitere Spalte einfügen, wo Du z. B. die Seitennamen reinlegst, wenn der User eine Seite anschaut. Aber da bin ich mir halt nicht so sicher!

redlama
 
Ok es geht jetzt mit den Logins....

na du dann schreibe ich hier gleich nochamls ganz ausführlich was ich noch machen will oder fang ein neues Thema an :-)

Danke für deine Hilfe...

Lg Lilly
 
LOL
Bis eben müsste ich redlama ja noch recht geben.
Ich habe die Frage falsch verstanden und Du bräuchtest doch nur zwei Tabellen.
Aber diese "Überwachung" sollte man dann wohl doch besser über drei Tabellen machen.
Eine eigene Spalte mit dem Seitennamen wird wohl nicht funktionieren (Stichwort atomare Attribute), es sei denn Du machst mehrere Zeilen, in denen immer derselbe User steht, nur halt mit einer anderen Seite, aber das ist auch nicht "normal", ich glaube nach der 2. Normalform falsch.
Wenn Du diese Datenbank nur für die "Überwachung" verwendest und nicht für den Inhalt der Seiten könntest Du evtl die Seitentabelle weglassen und wärst wieder bei zwei Tabellen (ist aber schmutzig, man stelle sich vor du ersten mal einen Seitennamen und dieser ist nicht durch eine ID eindeutig identifiziert).
Ein Paar Links zum Thema Normalisierung von Datenbanken habe ich eben über Google gefunden:
http://www.itse-guide.de/artikel/25
Kurzer recht einfacher Einstieg

Relativ umfassend ist das Thema bei Wikipedia beschrieben. Dort findest Du auch noch weitere Links.

Dazu ist jedoch zu sagen, dass man in der einfachen "Privat-Datenbankpraxis" selten über die 3. Normalform hinausgehen muss.

Es lohnt sich wirklich sich damit intensiv zu beschäftigen, wenn man vor hat mit relationalen Datenbanken zu arbeiten. Wenn ich manchmal sehe, wie einige Bürohengste ihre Access-Datenbanken zusammenstellen wird mir schlecht. Man bekommt dann wirklich Probleme, wenn man da mal was erweitern will oder Datensätze ändern muss.

Seitenbesuche müsstest Du dann ungefähr wie folgt eintragen:
PHP:
    $sql = "INSERT INTO Seitenbesuche (userID,seitenID,ZeitDesAufrufs,IPAdresse) VALUES ('dieIDdesBenutzers','dieIDderSeite',NOW(),'".$_SERVER['REMOTE_ADDR']."') ";
   $result = mysql_query($sql);
   if(!$result) die(mysql_error());

Und wie gesagt, mit COUNT() und GROUP BY hast Du dann nahezu endlose Möglichkeiten Statistiken über Deine User und Deine Seiten zu erstellen.
PHP:
//Wieviele Seiten hat welcher User angesurft:
SELECT *, COUNT(seitenID) AS besuche FROM User, Seitenbesuche WHERE User.userID = Seitenbesuche.userID GROUP BY User.userID;

//Wie oft wurde eine bestimmte Seite angesurft
SELECT *, COUNT(seitenID) AS besuche FROM Seiten, Seitenbesuche WHERE Seiten.seitenID = Seitenbesuche.seitenID GROUP BY Seiten.seiteID;

//Wie oft hat ein User eine bestimmte Seite angesuft müsste dann glaube ich ungefähr so aussehen:
SELECT *, COUNT(seitenID) AS besuche FROM User, Seiten, Seitenbesuche WHERE Seiten.seitenID = Seitenbesuche.seitenID AND User.userID = Seitenbesuche.UserID GROUP BY Seiten.seiteID, User.userID;
Das sind jetzt nur Beispiele, die ich nicht getestet habe, aber ungefähr so müsste es aussehen.
Du musst sicher noch die Feldnamen anpassen, damit das zu Deiner Datenbank passt.
(Und Du brauchst die Tabelle Seitenbesuche)

Die Beispiele sind ALLE nur nötig, wenn Du auf die erweiterte Überwachung (welcher User hat welche Seite angesurft) nicht verzichten willst.

Gruß hpvw
 
Hmm das klingt gut was du geschrieben hast. Aber wie müssen denn jetzt dann genau die Tabellen in der Datenbank aussehen und wo kommen die ganzen Skripte dann rein ? Ich komm gerade echt nicht mehr weiter :-(
 
Wo die Codefragmente reingehören habt Ihr glaube ich eben schon geklärt.
Das erste PHP ersetzt das hochzählen des Zählers, die zweiten (SQL-SELECTS) kannst Du in einer admin-Seite einbauen, um die Auswertung für Dich darzustellen oder halt auf einzlnen Seiten, wo den User darüber informierst, was Du alles mitgeloggt hast.
Deine Tabellen können fast so bleiben, wie sie sind, nur die Zählerspalte kannst Du wieder entfernen. Dazu kommt die Seitenbesuche-Tabelle, mit den vier Attributen, die ich schon hingeschrieben habe.

Gruß hpvw
 
Zurück