Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| Admin Statistik | |||
|---|---|---|---|
| Siggi Mitglied
Posts: 1771 |
Hey,
ist es möglich was ich denke aber nur die frage lautet wie
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
Posts: 1178 |
Ist das nicht ausreichend??
DEINESEITE/index.php?statistik |
||
| Siggi Mitglied
Posts: 1771 |
Nein sonst haette ich nicht gefragt.
wuerde es gern genauso wie im Admin menu haben. Wie poste ich falsch? |
||
| Lord|Schirmer Administrator
Posts: 4606 |
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
Posts: 1771 |
Ja genau das suchte ich
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
Posts: 1771 |
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>»<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
Posts: 4606 |
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
Posts: 1771 |
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
Posts: 133 |
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
Posts: 1771 |
Ja das mit parse-url geht
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
Posts: 4606 |
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
Posts: 1771 |
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
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
Posts: 404 |
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 ![]() Schau mich nicht in diesem Ton an, ich hab nen Tinnitus im Auge, ich seh nur Pfeifen. |
||
| Siggi Mitglied
Posts: 1771 |
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
Posts: 4606 |
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
Posts: 1771 |
Jub geht
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 ] |