Beitrag von heaven (94 Beiträge) am Freitag, 27.Juli.2001, 23:18. WWW: www.dykeworld.de
klickstatistik bei nem bibliotheks-script
hi ihrs,
ich hab mir anhand greggi's vorlage eine linkliste erstellt. die hab ich kombiniert mit dem einfachen zugriffsschutz von christoph (ebenfalls aus der bibliothek - das script,. nicht der christoph ;o) )
das ganze ist anzuschauen hier:
http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/dykeworld/test/Linklisteausgabe
nun hab ich versucht, dort einen klickzähler (ebenfalls aus der bib, da sind zwei zur auswahl) einzubauen, aber irgendwie klappt das net.
ich hab durchaus versucht, bei claus s's klickstatistik II den gpc1-code (ganz und auch teilweise) in meine ausgabeseite (siehe oben) einzubauen. es geht von vorn bis hinten schief. was bitte mache ich falsch? hat jemand von euch einen tipp oder eine idee?
heaven.
Antworten
Beitrag von fb (406 Beiträge) am Samstag, 28.Juli.2001, 02:08.
Re: klickstatistik bei nem bibliotheks-script
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 07:14. WWW: www.dykeworld.de
Re: klickstatistik bei nem bibliotheks-script
hi fb,
du hattest natürlich recht. nun klappt es, und jeder klick auf ne addi wird schön brav mitgezählt. allerdings in der extra-db. auch ne ausgabeseite dazu ist an sich kein problem. sieht allerdings etwas doof aus, da dort jeder klick als extra-eintrag hinzugefügt wird. wenn also mehrfach auf die gleiche url geklickt wird, hat man dort mehrfache einträge, die sich nur über das klickdate unterscheiden.
gibt es eine möglichkeit, diese db "statistik" (besteht aus den feldern "url" und "klickdate") so abzufragen, dass auf ner ausgabeseite lediglich die url und die gesamt-klickzahl zu dieser url herauskommt? oder noch besser: geht es, die eigentliche ausgabeseite meiner linkliste um ein tabellenfeld zu erweitern, in der hinter dem jeweiligen link die gesamtanzahl der klicks steht?
falls ja: wie gehtn das?
Antworten
Beitrag von Claus S. (1671 Beiträge) am Montag, 30.Juli.2001, 08:56.
Re: klickstatistik bei nem bibliotheks-script
hallo heaven,
probiere es mal mit nachstehendem code für einen "gruppenwechsel" (der ist von sander):
<perl>
@liste;
$"=' ';
get "ID==* sort=URL", "STAISTIK";
while (get_next ("STATISTIK"))
{
if (index(" @liste "," $URL ")<0)
{
push (@zahl, $i) if $_loop != 0;
$i=0;
push (@liste, $URL);
$i++;
}else
{
$i++;
}
}
push (@zahl, $i);
##### Ausgabe der Liste in der nur jedes Element 1x vorkommt
$x=0;
for (@liste)
{
out "$URL ($zahl[$x])<br>";
$x++;
}
</perl>
den habe ich auf meiner link-seite www.guidepark.de
verwendet.
gruss claus
Antworten
Beitrag von Gregor (79 Beiträge) am Montag, 30.Juli.2001, 09:08. WWW: www.Lyricsarchiv.de
Re: klickstatistik bei nem bibliotheks-script
Moin Heaven, ich hatte das gleiche Problem wie Du und habs wie folgt zusammengebastelt (mit Sanders Hilfe):
1. In Deiner Datenbank hängst Du noch ein Feld "Klicks" an (Typ: Zahl)
2. Erstell ein Template "klickzaehler" mit folgendem Inhalt:
<body bgcolor=#FFFFFF onload="location.replace('$urlgo');">
<perl>
get "Id==$Id", "Datenbankname";
$Klicks++;
mod "Id==$_id", ["Klicks", $Klicks,],"Datenbankname";
</perl>
3. Der Link in Deinem eigentlichen Template sollte dann wie folgt lauten:
http://baseportal.de/cgi-bin/baseportal.pl?htx=/dykeworld/test/klickzaehler&urlgo=$Link&Id=$_id
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 12:44. WWW: www.dykeworld.de
*grübel*
hi claus, hi gregor.
ich bastele jetzt seit stunden eure beiden vorschläge durch, aber es haut net hin.
1.) ad claus: ich hab deinen vorschlag ausprobiert. dazu hab ich deinen code in meine statistik-datei gesetzt. nun kommt die fehlermeldung: [ Fehler: sel: Feld (ID) in /dykeworld/test/statistik nicht vorhanden
Ursache: Das Feld ID wurde in der Datenbank nicht definiert. Vielleicht haben Sie sich bei der Abfrage auch nur verschrieben?
Lösungen: 1. Korrigieren Sie Ihre Abfrage. 2. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Felder' und fügen Sie das gewünschte Feld hinzu. ]
[ Fehler: sel: Index-Datei (/usr/local/httpd/data/QY/QZ/dykeworld/test/statistik.) kann nicht zum Lesen geöffnet werden.
Ursachen: 1. Für das Feld ID wurde keine Sortierung definiert.
2. Die Index-Datei ist zerstört
Lösungen: 1. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Felder' und beim Feld ID auf 'Ändern'. Wählen Sie nun eine Sortierung nach 'Zahl' oder 'Text'...
das hier ist der code, den ich in die statistik-datei eingefügt habe:
<do action=all selectbrowse=top searchfields=url listfields=url,klickdate,Klicks sort=url,Klicks>
<br>
<perl>
get "klickdate", statistik; out "Aktuelle Anzahl der vorhandenen Klicks: ", $_amount,"";
</perl>
<br>
<perl>
@liste;
$"=' ';
get "ID==* sort=url", "statistik";
while (get_next ("statistik"))
{
if (index(" @liste "," $url ")<0)
{
push (@zahl, $i) if $_loop != 0;
$i=0;
push (@liste, $url);
$i++;
}else
{
$i++;
}
}
push (@zahl, $i);
##### Ausgabe der Liste in der nur jedes Element 1x vorkommt
$x=0;
for (@liste)
{
out "$url ($zahl[$x])<br>";
$x++;
}
</perl>
2.) ad gregor: ich hab versucht, deinem vorschlag zu folgen. dazu hab ich zuerst die datei klickzaehler erstellt:
<body bgcolor=#FFFFFF onload="location.replace('$urlgo');">
<perl>
get "Id==$Id", "Linkliste";
$Klicks++;
mod "Id==$_id", ["Klicks", $Klicks,],"statistik";
</perl>
dann hab ich, da ich nicht wusste, in welcher db, sowohl in der db namens "Linkliste" alsauch in der db namens "statistik" das feld "Klicks" erstellt.
mein aufruf in meinem Linklisteausgabe-Template sieht so aus:
<loop db=Linkliste Bereich~=Portale und EZines sort^=Datum range^=0,100>
<tr bgcolor="#FBE3AD">
<td width="20%"><a href="/cgi-bin/baseportal.pl?htx=/dykeworld/test/klickzaehler&urlgo=$URL&Id=$_id" target="_blank">$Name</a></td>
<td width="80%">$Inhalt</td>
mein eigentliches statistiktemplate (bzw. das ergebnis dessen) kannste unter
http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/dykeworld/test/statistik
anschauen. die untere fehlermeldung gehört zu dem code von claus. in meiner linklistenausgabe
(http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/dykeworld/test/Linklisteausgabe )
wird beim anklicken eines links korrekt auf die entsprechende seite weitergeleitet. allerdings ist kein klickeintrag in der statistik zu verzeichnen.
was mache ich falsch? so langsam gehen mir die deen aus...
Antworten
Beitrag von daniel (83 Beiträge) am Montag, 30.Juli.2001, 12:48.
Re: *grübel*
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 12:53. WWW: www.dykeworld.de
hab ID in Id geändert
nun erscheint die fehlermeldung nicht mehr. allerdings steht auch in der statistik nichts neues (außer, dass die fehlermeldung fehlt. wo bitte muss ich das stück code einfügen? in das template klickcount?
Antworten
Beitrag von daniel (83 Beiträge) am Montag, 30.Juli.2001, 13:10.
Re: hab ID in Id geändert
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 13:16. WWW: www.dykeworld.de
hab auch das geändert
danke, daniel, ich hab's in gänsefüßchen gesetzt. bin nicht gerade fit, was die syntax angeht. die änderung ändert allerdings nix am ergebnis. ich glaub, ich fang noch mal ganz von vorn an. *heult über die 156 einträge in der eigentlichen datenbank*
irgendwo muss ja der fehler sein. und mit diesem mischen der vorschläge steig ich langsam nicht mehr durch. *seufz*
Antworten
Beitrag von daniel (83 Beiträge) am Montag, 30.Juli.2001, 14:03.
Re: hab auch das geändert
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 14:11. WWW: www.dykeworld.de
ist sehr lieb von dir
... bringt aber auch nix. ich hab das auch verändert, nun kommt die fehlermeldung
[ Fehler: (perl) in /dykeworld/test/statistik: Unrecognized character \337 at (eval 110) line 31. ]
ich bin nichtmal sicher, ob ich das in meinem statistik-ausgabe-template einbauen musste oder nicht. na, wie auch immer. ich versuch's ganz von vorn. ist vermutlich sinnvoller. bin gerade beim verzeichnis test2 (*ggg*) und fürchte, ich werd mich durchaus noch mal melden...
lieben dank,
heaven.
Antworten
Beitrag von Gregor (79 Beiträge) am Montag, 30.Juli.2001, 14:13.
Re: hab auch das geändert
Sorry, noch ein kleiner Fehler (man sollte halt doch die Vorschau benutzen...)
<body bgcolor=#FFFFFF onload="location.replace('$urlgo');">
<perl>
get "Id==$Id", "Linkliste";
$Klicks++;
mod "Id==$_id", ["Klicks", $Klicks,],"Linkliste";
</perl>
Antworten
Beitrag von daniel (83 Beiträge) am Montag, 30.Juli.2001, 14:20.
Re: hab auch das geändert
dann benutz sie doch :-)
<body bgcolor=#FFFFFF onload="location.replace('$urlgo');">
<perl>
get "Id==$Id", "Linkliste";
$Klicks++;
mod "Id==$_id", ["Klicks", $Klicks], "Linkliste";
</perl>
Antworten
Beitrag von Gregor (79 Beiträge) am Montag, 30.Juli.2001, 14:10.
Re: *grübel*
Hi heaven, das sieht doch schon ganz gut aus (meine Version, bei der von Claus S. kann ich auch nicht mitreden *g*). Der einzige Fehler ist glaube ich, dass Du Dich in der Klickstatistik auf lediglich eine DB einigen musst. Also versuchs mal mit fogendem Klickzaeertemplate:
<body bgcolor=#FFFFFF onload="location.replace('$urlgo');">
<perl>
get "Id==$Id", "Linkliste";
$Klicks++;
mod "Id==$_id", ["Klicks", $Klicks,],"Linkliste
</perl>
So müßte es eigentlich in der Datenbank Linkliste den Zähler im Feld "Klicks" immer um eins erhöhen...
Gregor
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 14:41. WWW: www.dykeworld.de
äääähm....
heißt das, dass du nur eine linkliste INKLUSIVE statistik hast, gregor????
ich bin bislang immer von getrennten datenbanken ausgegangen. also ich mein damit, ich hab eine db linkliste und eine db statistik angelegt. *am kopp kratz*
was haste denn nun genau? vorlage für meine linkliste ist deine in die bibliothek eingestellte linkliste. also ist es richtig, das extra-feld "Klicks" in die eigentliche linkliste einzubauen?
Antworten
Beitrag von Gregor (79 Beiträge) am Montag, 30.Juli.2001, 14:48.
Re: äääähm....
Jip, genauso. Ich hab in die eigentliche Linkliste noch ein Feld "Klicks" reingehauen. Du brauchst also keine Extradatenbank mehr für die Statistik, läuft alles nur noch über ein und dieselbe DB (macht sich auch viel praktischer bei der Auswertung ;-))...
Müsste mit dem kurz zuvor geschickten "klickzaehler"-Template eigentlich funktionieren...
Gregor
Antworten
Beitrag von heaven (94 Beiträge) am Montag, 30.Juli.2001, 14:57. WWW: www.dykeworld.de
*kreisch*
der frisst meine einträge!!!!!!
ich hab in der Linkliste-db das feld klicks drin. wenn ich nun mein template Linklisteausgabe öffne und dort einen eintrag anklicke, "frisst" wer auch immer den eintrag!!!!! *ist fassungslos*
also los, kinners, wir haben noch 153 einträge zum rumprobieren, danach ist meine mühsam erstellte linkliste wech *grins*.
sach ma, gregor, kannste mir nicht mal deine codes posten? ich hab deine alten codes ja auch auf meine bedürfnisse umgebastelt. vielleicht würde mir das ja weiterhelfen. vor allem ist mir immer noch unklar, welches ausgabetemplate ich nutzen soll für den klickzähler.
Antworten
Beitrag von Gregor (79 Beiträge) am Montag, 30.Juli.2001, 15:00.
Re: *kreisch*
Hoppla, war bestimmt keine Absicht... ich schick Dir alles per E-mail *g*...
Antworten