» Forum » Clanscript » Module und Modifikationen » Admin Statistik
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Admin Statistik
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 17.01.2012 - 17:12:52     Zitieren
Hey,

ist es möglich was ich denke aber nur die frage lautet wie Smilie

Die Statistik die man im Admin menü findet sprich

Besucher Statistik
Übersicht | letzter Monat | dieser Monat

Das man dies in einer normalen php schreibt und diese fuer alle User zugänglich macht?

Nur wo genau wird alle festgehalten bzw wo wird es ausgegeben finde da die datei nicht.

Gruss


Wie poste ich falsch?
-saarlonz-
Moderator
81 Beitragspunkte
Posts: 1178

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 17.01.2012 - 17:16:32     Zitieren
Ist das nicht ausreichend??

DEINESEITE/index.php?statistik




Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 17.01.2012 - 17:37:36     Zitieren
Nein sonst haette ich nicht gefragt.

wuerde es gern genauso wie im Admin menu haben.


Wie poste ich falsch?
Lord|Schirmer
Administrator
823 Beitragspunkte
Posts: 4606

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 17.01.2012 - 17:43:36     Zitieren
Entnimm doch die Daten der Datei admin/admin.php ab case 'besucherStatistik':.


"In mir schlummert ein Genie, leider wacht es nicht auf!"

my portfolio | my community | important link
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 17.01.2012 - 23:34:54     Zitieren
Ja genau das suchte ich Smilie

wie jedoch kann ich dort machen zb. bei Besucher nach Herkunft das er mir nur die anzeigt die mindestens 20 haben sprich nicht alle bei 1 usw auch schon

echo_admin_site_statistik ('<br /><b>Besucher nach Herkunft</b>', 'ref', $smon, $ges, "wert DESC LIMIT 50" );


und wie mach ich das er den link auch direkt verlinkt?


Zuletzt modifiziert von Siggi am 17.01.2012 - 23:35:30


Wie poste ich falsch?
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 14:15:43     Zitieren
So habe nun einiges jedoch fehlt immer noch das ich nur die ref auslesen moechte die mindest 20 klicks wert haben.

mit where habe ich es nicht hinbekommen

und ich wuerde gerne das er mir und www garnicht im link namen anzeigt.

moeglich den namen auszulesen und dann irgendwie das zu streichen oder so?

Haette auch gern das Bei Browser alle Firefox etc zusammen gezaehlt werden und nicht jede Browser version einzeln

mein code bisher
$mon = date('n');

$lastmon = $mon - 1;

$jahr = date('Y');

$lastjahr = $jahr;

if ( $lastmon <= 0 ) { $lastmon = 12; $lastjahr = $jahr - 1; }

            function echo_admin_site_statistik ($title, $col, $smon, $ges, $orderQuery ) {

              $sql = db_query("SELECT COUNT(*) AS wert, $col as schl FROM  `prefix_stats` WHERE mon = ".$smon." GROUP BY schl ORDER BY ".$orderQuery);

              $max = @db_result(db_query("SELECT COUNT(*) as wert, $col as schl FROM prefix_stats WHERE mon = ".$smon." GROUP BY schl ORDER BY wert DESC LIMIT 1"),0,0);

              if ( empty($max) ) { $max = 1; }

              if ( empty($ges) ) { $ges = 1; }

              echo '<tr><th align="left" colspan="4">'.$title.'</th></tr>';

              while ( $r = db_fetch_assoc($sql) ) {

                $wert = ( empty($r['wert']) ? 1 : $r['wert'] );

                $weite = ($wert / $max) * 200;

					      $prozent = ($wert * 100) / $ges;

					      $prozent = number_format(round($prozent,2), 2, ',', '');

                $name = $r['schl'];

                if ( strlen ( $name ) >= 37 ) {

                  $name = substr($name,0,37).'<b>...</b>';

                }

                echo '<tr class="norm"><td width="240" title="'.$r['schl'].'">'.$name.'</td><td width="250">';

                echo '<hr width="'.$weite.'" align="left" /></td>';

                echo '<td  width="50" align="right">'.$wert.'</td></tr>';

              }

            }
			
            function echo_admin_site_statistik2 ($title, $col, $smon, $ges, $orderQuery ) {

              $sql = db_query("SELECT COUNT(*) AS wert, $col as schl FROM  `prefix_stats` WHERE mon = ".$smon." GROUP BY schl ORDER BY ".$orderQuery);

              $max = @db_result(db_query("SELECT COUNT(*) as wert, $col as schl FROM prefix_stats WHERE mon = ".$smon." GROUP BY schl ORDER BY wert DESC LIMIT 1"),0,0);

              if ( empty($max) ) { $max = 1; }

              if ( empty($ges) ) { $ges = 1; }

              echo '<tr><th align="left" colspan="4">'.$title.'</th></tr>';

              while ( $r = db_fetch_assoc($sql) ) {

                $wert = ( empty($r['wert']) ? 1 : $r['wert'] );

                $weite = ($wert / $max) * 200;

					      $prozent = ($wert * 100) / $ges;

					      $prozent = number_format(round($prozent,2), 2, ',', '');

                $name = $r['schl'];

                if ( strlen ( $name ) >= 37 ) {

                  $name = substr($name,0,37).'<b>...</b>';

                }

                echo '<tr class="norm"><td width="240"><a href="'.$r['schl'].'" target="_blank">'.$name.'</a></td><td width="250">';

                echo '<hr width="'.$weite.'" align="left" /></td>';

                echo '<td  width="50" align="right">'.$wert.'</td></tr>';

              }

            }
		
            echo '<table width="100%" border="0" cellspacing="1" cellpadding="4"><tr><td><b>&raquo;<u>Statistik</u></b></td></tr></table>';

            $smon  = $menu->get(2);
			$dateh = date("Y-m-d");
			$dateg = date("Y-m-d",(strtotime("now")-86400));
			$lastjahrges = date("Y") - 1;
			$smones = date("m") - 1;
			
            if ( empty($smon) ) { $smon = $mon; }

			$gesheute = @db_result(db_query("SELECT count FROM prefix_counter WHERE date = '".$dateh."'"),0);
			$gesgestern = @db_result(db_query("SELECT count FROM prefix_counter WHERE date = '".$dateg."'"),0);
			$ges = db_result(db_query("SELECT COUNT(*) FROM prefix_stats WHERE mon = ".$smon),0,0);
			$gesall = db_result(db_query("SELECT SUM(`count`) FROM prefix_counter"),0,0);

 echo '<table width="200" border="0" cellspacing="3" cellpadding="3">
  <tr>
    <td><b>Heute:</b></td>
    <td>'.$gesheute.'</td>
  </tr>
  <tr>
    <td><b>Gestern:</b></td>
    <td>'.$gesgestern.'</td>
  </tr>
  <tr>
    <td><b>Diesen Monat:</b></td>
    <td>'.$ges.'</td>
  </tr>
  <tr>
    <td><b>Insgesamt:</b></td>
    <td>'.$gesall.'</td>
  </tr>
</table>';
			
            echo '<table cellpadding="2" border="0" cellspacing="0">';
            echo_admin_site_statistik ('<br /><br /><b>Besucher nach Browsern</b>', 'browser', $smon, $ges, "wert DESC LIMIT 5" );
            echo_admin_site_statistik2 ('<br /><br /><b>Besucher nach Herkunft</b>', 'ref', $smon, $ges, "wert DESC" );
			echo '</table>';



Zuletzt modifiziert von Siggi am 18.01.2012 - 14:43:50


Wie poste ich falsch?
Lord|Schirmer
Administrator
823 Beitragspunkte
Posts: 4606

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 17:55:04     Zitieren
Werte ab 20 Klicks: AND wert >= 20
Zeichenkette entfernen: $ref = string_replace("www","", $ref);


"In mir schlummert ein Genie, leider wacht es nicht auf!"

my portfolio | my community | important link
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 18:27:38     Zitieren
Zitat geschrieben von Lord|Schirmer

Werte ab 20 Klicks: AND wert >= 20


kenne ich auch so und hatte ich auch so gemacht dann sagt er mir jedoch
1054 : Unknown column 'wert' in 'where clause' usw


Zitat geschrieben von Lord|Schirmer

Zeichenkette entfernen: $ref = string_replace("www","", $ref);



Fatal error: Call to undefined function string_replace()

edit: mit $name = str_replace('www.','', $name); ging es.
Kann man auch machen das er irgendwie nur die Domain auslesen los? also gibt zb. google.de/url, google.com/search usw das da nur steht google.com?

und was wie gesagt noch nicht geht ist das mit wert 20


Zuletzt modifiziert von Siggi am 18.01.2012 - 18:37:17


Wie poste ich falsch?
T3BAss
Mitglied
18 Beitragspunkte
Posts: 133

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 18:39:56     Zitieren
Weil "wert" nur ein Beispiel ist für eine Spalte in der Tabelle ;-)
Und du brauchst: php.net/manual/de/function.parse-url.php
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 18:57:42     Zitieren
Ja das mit parse-url geht Smilie

nun was halt noch fehlt und wie gesagt ja auch nicht funktioniert ist das mit den wert 20 wie könnte man es den sonst noch machen?


Wie poste ich falsch?
Lord|Schirmer
Administrator
823 Beitragspunkte
Posts: 4606

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 19:05:47     Zitieren
evtl. in die Ausgabeschleife ein: if ($r['wert'] >= 20) { ... }


"In mir schlummert ein Genie, leider wacht es nicht auf!"

my portfolio | my community | important link
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 19:10:13     Zitieren
hm weisste was ich lasse den mist einfach weg haue ein limit von 25 rein die meist besuchten fertig ^^

wenn nicht so dann plan b halt Smilie

Jedoch wie auch oben gefragt ist es auch mit so einen trick irgendwie moeglich nicht jede firefox, opera, ie usw version einzelnd aufzuzaehlen sondern irgendwie nur jeden Browser einmal scheiss egal welche version und diese zusammen zaehlen?

wisst ihr wie ich das meine?


Wie poste ich falsch?
0rsn1p3*dlx*
Mitglied
7 Beitragspunkte
Posts: 404

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 18.01.2012 - 19:44:41     Zitieren
Ich weiß wie du es meinst und das würde mich auch interessieren denn die stats werden durch 20 versionen doch recht in die länge gezogen. siehe hier: www.okularrulz.de/index.php?stattest-besucherStatistik
Währ für hilfe dankbar Smilie


Schau mich nicht in diesem Ton an, ich hab nen Tinnitus im Auge, ich seh nur Pfeifen.
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 19.01.2012 - 20:24:46     Zitieren
hm wenn da so nix moeglich ist waere es nicht moeglich das man von anfang an mit der vorhandenen funktion nur den Browsername und nicht die version in die db traegt?

wo findet man die funktion?


Wie poste ich falsch?
Lord|Schirmer
Administrator
823 Beitragspunkte
Posts: 4606

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 20.01.2012 - 00:12:21     Zitieren
Da habt ihr mal ein Idee:
SELECT
  (CASE
    WHEN browser LIKE '%Internet Explorer%' THEN 'Internet Explorer'     
    WHEN browser LIKE '%Firefox%' THEN 'Firefox'    
    WHEN browser LIKE '%Chrome%' THEN 'Chrome'
    WHEN browser LIKE '%Safari%' THEN 'Safari'
    WHEN browser LIKE '%Opera%' THEN 'Opera'
    ELSE 'keine Ahnung'
  END) AS browserneu,
  COUNT(*) AS wert
FROM
  prefix_stats
GROUP BY
  browserneu



Zuletzt modifiziert von Lord|Schirmer am 20.01.2012 - 00:16:42


"In mir schlummert ein Genie, leider wacht es nicht auf!"

my portfolio | my community | important link
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 20.01.2012 - 11:41:48     Zitieren
Jub geht Smilie Danke

ist sowas auch mit den ref moeglich? bei mir wird angezeigt das manche von www.google.com/search manche von www.google.com/url manche nur von www.google.com/ das man irgendwie alle google.com zusammen fuegt?


Zuletzt modifiziert von Siggi am 20.01.2012 - 11:50:45


Wie poste ich falsch?

[ Anmelden zum schreiben ]