Tausender Trennzeichen anzeigen lassen

am 27.02.2010 - 12:11 Uhr in
Hallo,
ich habe ein Modul installiert mit folgendem Code:
if ($op == 'view') {
$output = '<ul class="menu">';
if (variable_get('visitors_show_total_visitors', 1)) {
$sql = 'SELECT count(*)+38128749 as total FROM {visitors} v';
$results = db_query($sql);
$data = db_fetch_object($results);
$total = $data->total;
$output .= sprintf('<li class="leaf dhtml-menu">%s: %d</li>', t('Total Visitors'), $total);
}
if (variable_get('visitors_show_unique_visitor', 1)) {
$sql = 'SELECT count(*) as total
FROM (
SELECT visitors_ip
FROM {visitors}
GROUP BY visitors_ip
) v';
$results = db_query($sql);
$data = db_fetch_object($results);
$uniq = $data->total;
$output .= sprintf('<li class="leaf dhtml-menu">%s: %d</li>', t('Unique Visitor'), $uniq);
}
if (variable_get('visitors_registered_user', 1)) {
$sql = 'SELECT count(*) as total
FROM {users}
WHERE uid<>0';
$results = db_query($sql);
$data = db_fetch_object($results);
$total = $data->total;
$output .= sprintf('<li class="leaf dhtml-menu">%s: %d</li>', t('Registered Users'), $total);
}
if (variable_get('visitors_last_registered_user', 1)) {
$sql = 'SELECT *
FROM {users}
ORDER BY uid DESC
LIMIT 1';
$results = db_query($sql);
$data = db_fetch_object($results);
$output .= sprintf('<li class="leaf dhtml-menu">%s: %s</li>', t('Last Registered User'), theme('username', $data));
}
if (variable_get('visitors_published_nodes', 1)) {
$sql = 'SELECT count(*) as total FROM {node} WHERE status=1';
$results = db_query($sql);
$data = db_fetch_object($results);
$total = $data->total;
$output .= sprintf('<li class="leaf dhtml-menu">%s: %d</li>', t('Published Nodes'), $total);
}
if (variable_get('visitors_user_ip', 1)) {
$output .= sprintf('<li class="leaf dhtml-menu">%s: %s</li>', t('Your IP'), visitors_get_ip());
}
if (variable_get('visitors_since_date', 1)) {
$sql = 'SELECT visitors_date_time
FROM {visitors}
ORDER BY visitors_date_time ASC
LIMIT 1';
$results = db_query($sql);
$data = db_fetch_object($results);
$since = $data->visitors_date_time;
$date_format = variable_get('date_format_short', 'Y-m-d');
$output .= sprintf('<li class="leaf dhtml-menu">%s: %s</li>', t('Since'), date($date_format, $since));
}
$output .= '</ul>';
Nun möchte ich gerne, dass die Tausender Trennzeichen angezeigt werden; z.B. Total Visitors: 1.234.567
Die Formatierung würde ja mit
<?PHP
echo number_format(ANZAHL DER BESUCHER, '', '', '.');
?>
Ich weiß nur nicht, wie ich das genau implementieren muß. Ich muß doch printf dann durch number_format ersetzen. Habe nun gestern den ganzen Tag herumprobiert, aber immer zerschießt es mir die gesamte Anzeige.
Kann mir bitte jemand von Euch auf die Sprünge helfen? Danke!
Gruß,
Kirsten
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi Kirsten deine Frage
am 27.02.2010 - 14:47 Uhr
Hi Kirsten
deine Frage bezieht sich nur auf
<?php
echo number_format(ANZAHL DER BESUCHER, '', '', '.');
?>
oder? Also warum verwirren mit dem ganzen Source? :)
Und schau doch bitte, das du die PHP Tags richtig schreibst.
Die Antwort steht eigentlich in der PHP Doku
http://de.php.net/manual/en/function.number-format.php
<?php
echo number_format(10000000.123142, 2, 'KOMMA', 'TAUSENDER');
?>
Ich hoffe das klärt das Problem.
Aneinander vorbei geschrieben ...
am 02.03.2010 - 12:04 Uhr
Also warum verwirren mit dem ganzen Source? :).
Weil es da noch mehr Benutzerzähler mit Tausenderstellen gibt und ich nicht wußte, was an Variablen noch eingefügt werden muss.
<?php
echo number_format(10000000.123142, 2, 'KOMMA', 'TAUSENDER');
?>
Nein, leider nicht, denn auch Du schreibst einfach eine Zahl hinein '10000000.123142' -
diese wird aber mit den Variablen erzeugt (siehe oben), somit muß ich dort hinein ja an diese
Stelle die Variablen setzten und genau DAS ist das Problem ;)
Gruß,
Kirsten
Gehe ich recht in der Annahme
am 02.03.2010 - 14:38 Uhr
Gehe ich recht in der Annahme das du das Modul nutzt: http://drupal.org/project/visitors ?
Falls ich Recht hatte, hab
am 02.03.2010 - 15:39 Uhr
Falls ich Recht hatte, hab ich einen gerade einen Patch erstellt, der für die Blockausgabe eine theme Funktion bereitstellt. Damit kannst du dann die Ausgabe in deinem Theme überschreiben und die gewünschten Formatierungen nutzen.
Siehe: http://drupal.org/node/730248
@Kirsten Naja du siehst du
am 02.03.2010 - 17:03 Uhr
@Kirsten
Naja du siehst du hast es geschaft mich zu verwirren ;)
Also geht es dir nicht um die Formatierung, sondern darum, warum dort eine wohl falsche Variable übergeben wird.
Weniger ist hier einfach mehr. Wenn du ein paar Zeilen raus kopierst und die dann kommentierst, wäre es bestimmt einfach :)
Ich hoffe mal pebosi hat dich richtig verstanden und es hilft dir.