Seite 1 von 2

mod eingabefeld im profil!

Verfasst: 04.01.2004 15:35
von mario8
hallo leute!

ich hab schon vor längerer zeit den mod (eingabefeld im profil) eingebaut. es gibt ja auch die möglichkeit ein dropdown menü zu erstellen.

im dropdown menü hat man nun die möglichkeit zwischen den verschiedenen marken zu wählen z.b.

a, b, c, d, e, f, .........

über dieses feld möchte ich eine eigene statistikseite erstellen.

1. ist so was schon in form eines modes realisiert worden?
2. wenn nein könnte mir jemand dabei helfen, ist es eine menge aufwand?

danke und grüsse
mario

Verfasst: 04.01.2004 16:45
von Acid
Was genau stellst du dir unter der Statistik denn vor ?

Verfasst: 06.01.2004 10:24
von mario8
hallo acid!

ich würde mir die statistik wie folgt vorstellen.

1. es sollte auf einer eigenen seite sein
2. es sollten alle geräte angeführt sein die von den usern ausgewählt wurden nicht nur die 10 meist verwendeten!
3. ob nun das ganze in einen diagramm oder in zahlern und prozent angegeben ist währe mir egal.

danke und grüsse
mario

Verfasst: 06.01.2004 11:16
von Acid
Als stats.php abspeichern. (In dem folgenden Code "user_feld" 4x mit der Bezeichnung von diesem Feld, das du zählen möchtest, ersetzen.)

Code: Alles auswählen

<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);

$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);

$page_title = 'Stats';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);

$template->set_filenames(array(
	'body' => 'stats_body.tpl')
);

$sql = "SELECT user_feld, count(*) AS amount FROM ". USERS_TABLE ."
           WHERE user_feld <> ''
           GROUP BY user_feld ORDER BY amount DESC";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Couldn\'t retrieve users data', '', __LINE__, __FILE__, $sql);
}
$stats_count = $db->sql_numrows($result);
$stats_data = $db->sql_fetchrowset($result);

$total_users = get_db_stat('usercount');

for( $i = 0; $i < $stats_count; $i++ )
{
	$row_class = ( $i%2 ) ? $theme['td_class2'] : $theme['td_class1'];

	$percent = round(($stats_data[$i]['amount'] / $total_users) * 100,2);

	$template->assign_block_vars('stats', array(
		'RANK' => $i+1,
		'ROW_CLASS' => $row_class,
		'ENTRY' => $stats_data[$i]['user_feld'],
		'AMOUNT' => $stats_data[$i]['amount'],
		'PERCENT' => $percent,
	));
}

$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Als stats_body.tpl abspeichern..

Code: Alles auswählen

<table border="0" cellpadding="4" cellspacing="1" class="forumline" width="50%" align="center"> 
  <tr>    
        <th width="5%">#</th>    
        <th>Eintrag</th> 
        <th width="5%">Anzahl</th> 
        <th>Prozent</th> 
  </tr> 
  <!-- BEGIN stats --> 
  <tr> 
        <td class="{stats.ROW_CLASS}" align="center"><span class="gen">{stats.RANK}</span></td> 
        <td class="{stats.ROW_CLASS}" align="center"><span class="gen">{stats.ENTRY}</span></td> 
        <td class="{stats.ROW_CLASS}" align="right"><span class="gen">{stats.AMOUNT}</span>&nbsp;</td>    
        <td class="{stats.ROW_CLASS}">&nbsp;<img src="templates/subSilver/images/cellpic3.gif" width="{stats.PERCENT}%" height="12" />
                                        <span class="gen">{stats.PERCENT}%</span></td>    
  </tr> 
  <!-- END stats --> 
  <tr> 
        <td class="catBottom" colspan="4">&nbsp;</td> 
  </tr>
</table>

Verfasst: 06.01.2004 17:39
von mario8
hallo acid!

danke für deine hilfe werde ich gleich heute probieren.

grüsse
mario

Verfasst: 09.01.2004 13:02
von mario8
hallo acid!

hab das ganze eingebaut und muss sagen das es wirklich super funktioniert.
ich habe nun ein zweites drop down menü auch noch eingebaut. kann man den coede der statistik irgendwie ändern das das beide miteinbezogen werden?

grüsse
mario

Verfasst: 09.01.2004 13:17
von Firestarter
kann man mal eine Demo sehen ?

Verfasst: 09.01.2004 19:25
von mario8
hallo!

kier der link zur statistik, ist jedoch noch nicht aussagekräftig da erst alle user umstellen müssen.

http://www.sondengaenger.net/phpBB2/stats.php

Verfasst: 10.01.2004 18:45
von Acid

Code: Alles auswählen

	$percent = min(100, ($stats_data[$i]['amount'] / $total_users) * 100);
..ersetze das in der *.php mal mit (damit ´s nur zwei Stellen nach´m Komma sind)..

Code: Alles auswählen

	$percent = round(($stats_data[$i]['amount'] / $total_users) * 100,2);
Das Prozent-Bild steht übrigens direkt in der *.tpl in, müsstest als eventuell noch Pfad anpassen.
ich habe nun ein zweites drop down menü auch noch eingebaut. kann man den coede der statistik irgendwie ändern das das beide miteinbezogen werden?
Nicht auf diese Weise, da dies sozusagen die TopX der Dingens errechnet.
Was soll eigentlich der Unterschied zwischen Detector und Detector2 sein ?

Verfasst: 17.01.2004 09:35
von mario8
hallo acid!

das mit den bilder funktioniert jetzt, hatte das template falsch eingestellt.

icht auf diese Weise, da dies sozusagen die TopX der Dingens errechnet.
Was soll eigentlich der Unterschied zwischen Detector und Detector2 sein ?
es ist so, eine menge user auf der seite haben zwei detektoren. um die statistik einigermaßen aussagekräftig zu machen habe ich nun den zweiten auch noch hinzugefügt.
der einzige unterschied ist eigentlich bei:

detektor: noch keinen
detektor2: keinen zweiten

sonnst stehen die gleichen sachen im dop down.

es währe jedoch super, dass zweite dop down in die statistik einzubinden um sie zu vervollständigen.

ist es überhaupt möglich beide in eine statistik zusammen zufassen?

grüsse aus österreich
mario