Zugriffe resetten

Gesperrt
koffer
Beiträge: 107
Registriert: Mi 3. Sep 2003, 15:39
Kontaktdaten:

Zugriffe resetten

Beitrag von koffer » Fr 19. Sep 2003, 16:56

Hallo,

gibt es eine Möglichkeit die Zugriffe, also die Statistik auf Null zu setzen?

Vielen Dank,
mfG,
koffer

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon » Fr 19. Sep 2003, 20:39

Um lediglich alle Statistikeinträge zu löschen, leere die Tabelle con_stat mittels

DELETE FROM 'con_stat'

als SQL-Angabe z.B. in phpmysqladmin.

Um die Statistikeinträge vorher zu archivieren, übertrage die Tabelleneinträge aus con_stat nach con_stat_archive mittels

insert into con_stat_archive ( idstatarch, archived, idcatart, idlang, idclient, visited, visitdate ) select idstat as idstatarch, '200309' as archived, idcatart, idlang, idclient, visited, visitdate from con_stat

ebenfalls als SQL-Angabe über phpmysqladmin

Das Textliteral '200309' für das Tabellenfeld Archived scheint für Contenido sehr wichtig zu sein, da hiermit dann wohl automatisch auch Jahresstatistiken aufgebaut werden können. Letzteres ist nur eine Vermutung, aufgrund meines Tests gerade. Jedenfalls löste dieser Aufbau des Literals eine entsprechende Funktionalität in den archivierten Statistiken (Backend-Funktionalität) aus.

Gruß

Arno

koffer
Beiträge: 107
Registriert: Mi 3. Sep 2003, 15:39
Kontaktdaten:

Beitrag von koffer » Sa 20. Sep 2003, 16:34

Super,
hat funktioniert!
Danke!

koffer
Beiträge: 107
Registriert: Mi 3. Sep 2003, 15:39
Kontaktdaten:

Beitrag von koffer » Sa 20. Sep 2003, 16:51

Sehe gerade das jetzt keine Zugriffe mehr gezählt werden.
Ist zwar alles wieder auf null nach DELETE FROM con_stat , jetzt zählt aber nix mehr.
Irgendwelche Tips?

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon » Sa 20. Sep 2003, 21:22

Sorry, ich hoffe Du hast zuvor ein Backup der Tabelle erstellt oder wenigstens die Daten in die Archiv-Tabelle geschoben?

Dann kannst Du die Statistik relativ leicht über

insert into con_stat ( idstat, idcatart, idlang, idclient, visited, visitdate ) Select idstatarch as idstat, idcatart, idlang, idclient, 0 as visited, null as visitdate from con_stat_archive

aus der Archiv-Tabelle wieder restaurieren, wobei Du ggf. noch

where archived = '200309'

als Kriteriumsklausel anhängen mußt, solltest Du mehr als einen Monat im Archiv stehen haben.

Am anderen Fall arbeite ich noch... Kann bis morgen Früh dauern.

Gruß

Arno

Arno Simon
Beiträge: 158
Registriert: Di 2. Sep 2003, 18:10
Kontaktdaten:

Beitrag von Arno Simon » So 21. Sep 2003, 00:09

Hi,

hier nun das PHP-Script zum Fixen der Statistik-Tabelle, solltest Du kein Backup davon haben und auch keine archivierten Einträge:

Code: Alles auswählen

<?
$db = mysql_connect("localhost","DeinBenutzer","DeinPasswort");
mysql_select_db("DeineDatenbank",$db);
$sql1 = "select con_cat_art.idcatart, ".
        "       con_cat.idclient, ".
        "       con_cat_lang.idlang ".
        "from   con_cat_art ".
        "       inner join con_cat on con_cat_art.idcat = con_cat.idcat ".
        "       inner join con_cat_lang on con_cat_art.idcat = con_cat_lang.idcat ";
$result1 = mysql_query($sql1,$db) or die ("mySQL-Fehler: ".mysql_error());
while ($rowres = mysql_fetch_row($result1))
{ $targetID++;
  $sql2 = "insert into con_stat ".
          "       ( idstat, ".
          "         idcatart, ".
          "         idlang, ".
          "         idclient, ".
          "         visited ".
          "        ) ".
          "        values (".
          "                 '".$targetID."', ".
          "                 '".$rowres[0]."', ".
          "                 '".$rowres[2]."', ".
          "                 '".$rowres[1]."', ".
          "                 '0' ".
          "               )";
  $result2 = mysql_query($sql2,$db) or die ("mySQL-Fehler: ".mysql_error()); }
?>
"DeinBenutzer", "DeinPasswort" und "DeineDatenbank" sind natürlich gegen die bei Dir gültigen Entsprechungen auszutauschen, genauso "localhost", sofern Du einen entsprechend anderen Host-String anzugeben hast.

Ich habe das Script als "/contenido/errorfix/errorfix.php" gespeichert und ausgeführt. Nach Ausführung - und entsprechender Kontrolle der Statistikfunktionen selbstredend - das Script am besten wieder löschen.

Gruß

Arno

koffer
Beiträge: 107
Registriert: Mi 3. Sep 2003, 15:39
Kontaktdaten:

Beitrag von koffer » So 21. Sep 2003, 12:22

Ok,
vielen Dank für die Mühe!
Ich hab jetzt die alten Daten wieder.

MfG,
koffer

Gesperrt