Excellent!
At 12:48 23/01/01, you wrote:
>Here's a spin on Bob's approach:
>
>An include at the top of index.php
>
>start -------------------------------------------------------------
>$host = isset($REMOTE_HOST) ? $REMOTE_HOST : $REMOTE_ADDR;
>
> //insert info
> $Query = "INSERT INTO activity_log ";
> $Query .= "(Day, Hour, Browser, Version, Platform, Referer, Time, Screen,
>Department, Item, SID, Search, Basket, User) ";
> $Query .= "VALUES ('" . date('Ymd', mktime()) . "', '" . date('H',
>mktime()) . "', ";
> $Query .= " '$Browser_Name', '$Browser_Version', '$Browser_Platform', '" .
>$host . "', '" . time() . "', ";
> $Query .= " '$SCREEN', '$department', '$item', '$sid', '$inputKeywords',
>'$sku', '" . $UserInfo['ID'] . "') ";
> if(!($DatabaseResult = mysql_query($Query, $DatabaseLink)))
> {
> $ActionResults[] = mysql_errno() . ": " . mysql_error();
> $ActionResults[] = $Query;
> }
>stop -------------------------------------------------------------
>
>the DB looks like this:
>
>CREATE TABLE activity_log (
> Day int(11) DEFAULT '0' NOT NULL,
> Hour int(11) DEFAULT '0' NOT NULL,
> Browser varchar(8) DEFAULT 'OTHER' NOT NULL,
> Version float DEFAULT '0' NOT NULL,
> Platform varchar(8) DEFAULT 'OTHER' NOT NULL,
> Referer varchar(40) NOT NULL,
> Time int(11) DEFAULT '0' NOT NULL,
> Screen text NOT NULL,
> Department int(11) DEFAULT '0' NOT NULL,
> Item int(11) DEFAULT '0' NOT NULL,
> SID varchar(25) NOT NULL,
> Search varchar(35) NOT NULL,
> Basket varchar(25) NOT NULL,
> User int(5) DEFAULT '0' NOT NULL
>);
>
>Then you can do reports like this:
>
>start------------------------------------------------
>$Query = "SELECT Screen, count(*) AS count ";
> $Query .= "FROM activity_log ";
> $Query .= "WHERE Screen != 'user_activity' ";
> $Query .= "GROUP BY Screen ORDER BY count DESC";
> if ( !($DatabaseResult = mysql_query($Query, $DatabaseLink)) ) {
> print(" " . mysql_errno() . ": " . mysql_error() . "Query was $Query\n");
> } else {
>
> print "<table border='0'>\n";
> print "<th>\nScreen Title</th>\n";
> print "<th>\nScreen</th>\n";
> print "<th>\nHits</th>\n";
> $row_no = "1";
>
> while($DatabaseRow = mysql_fetch_array($DatabaseResult)) {
>
> $Screen = $DatabaseRow['Screen'];
> $ScreenTitle = $ScreenInfo[$Screen][0];
> $Qty = $DatabaseRow['count'];
>
> if ($row_no % 2 == 0) {
> $bg_clr = '#FFFFFF';
> } else {
> $bg_clr = '#EEEEEE';
> }
>
> print "<tr bgcolor='$bg_clr'>\n";
> print "<td>\n $ScreenTitle </td>\n";
> print "<td>\n $Screen </td>\n";
> print "<td>\n $Qty </td>\n";
> print "</tr>\n";
>
> $row_no++;
>
> }
>
> print "</table>\n";
>}
>stop--------------------------------------------------------
>
>There are a number of reports that you can create from the information being
>collected. If you do a query on the items, the type of things users are
>searching...the list goes on. A cron job would also be useful to delete old
>records.
>
>ron
>
>
>
> > Thanks Bob that's the kind of thing I was thinking about.
> >
> > Leon's suggestion about altering the URL and tracking via a "fake log file
> > using Apache" is probably a good one if I had that kind of server access.
>In
> > fact I was reading an article: http://www.alistapart.com/stories/urls/
>about
> > just that kind of thing.
> >
> > Anyway, I've got a few more things to be getting on with before that so
> > thanks again.
> >
> > Nick
> >
>
>
>
>
>------------------------------------------------------------
>To subscribe: [EMAIL PROTECTED]
>To unsubscribe: [EMAIL PROTECTED]
>Site: http://www.working-dogs.com/freetrade/
>Problems?: [EMAIL PROTECTED]
bye
Bob Hutchinson
[EMAIL PROTECTED]
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Site: http://www.working-dogs.com/freetrade/
Problems?: [EMAIL PROTECTED]