Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

total view count für user auf der profil-seite

Eingetragen von derBen (432)
am 28.11.2007 - 17:22 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

ich möchte gerne die gesamtanzahl der ansichten für alle beiträge, die ein user erstellt hat in seinem profil (.tpl.php datei)darstellen. leider habe ich keinen ansatz gefunden (mysql noob) - soll aber ganz einfach gehen.

Output sollte etwa sein:

"Deine Beiträge wurden insgesamt 232435 mal angeschaut."

ich bin mir auch nicht sicher ob so eine anfrage den server evtl arg belasten würde.

hat vielleicht jemand einen ansatz, eine solche query zu schreiben?

‹ Dopelte Benutzeranmeldung erforderlich Probleme beim update auf 5.5 ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

versuchs mal damit:

Eingetragen von derjochenmeyer@... (591)
am 28.11.2007 - 23:07 Uhr

versuchs mal damit:

Bei sowas hilft api.drupal.org oft weiter. In dam Fall: http://api.drupal.org/api/function/statistics_get/5

<?php
// stats for user 1
$user_uid = 1;

// Select all Node IDs created by user with uid = $user_uid
$nodes = db_query("SELECT nid FROM {node} WHERE uid = %d", $user_uid);

// for couting the nodes
$nodecount = 0;

while(
$node = db_fetch_object($nodes)) {
 
// get total nodeviews for every node
 
$nodeviews = statistics_get($node->nid);
 
 
// sum all nodeviews
 
$total_nodeviews += $nodeviews['totalcount'];

 
// count all nodes
 
$nodecount++;
}

print
"Deine $nodecount Beiträge wurden insgesamt $total_nodeviews aufgerufen.";
?>

Ich glaube nicht, dass das ein große Belastung für den Server ist. Aber vielleicht hat ja jemand ne andere Meinung dazu?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke, 1337 mal danke!

Eingetragen von derBen (432)
am 29.11.2007 - 00:38 Uhr

<?php
// stats for user
$user_uid = $user->uid;

// Select all Node IDs created by user with uid = $user_uid
$nodes = db_query("SELECT nid FROM {node} WHERE uid = %d", $user_uid);

// for couting the nodes
$nodecount = 0;

while(
$node = db_fetch_object($nodes)) {
 
// get total nodeviews for every node
 
$nodeviews = statistics_get($node->nid);

 
// sum all nodeviews
 
$total_nodeviews += $nodeviews['totalcount'];

 
// count all nodes
 
$nodecount++;
}
print
$user->name;
print
" hat $nodecount Beiträge geschrieben. Diese wurden insgesamt $total_nodeviews mal aufgerufen.";
?>

wie butter, super!

--

volunity

  • Anmelden oder Registrieren um Kommentare zu schreiben

effektiver PHP Code, wie man ihn schreiben sollte

Eingetragen von quiptime (4972)
am 29.11.2007 - 01:13 Uhr
Zitat:

print " hat $nodecount Beiträge geschrieben. Diese wurden insgesamt $total_nodeviews mal aufgerufen.";

Das sind die typischen Anfaenger mit PHP Code.

Noch nie was von langsamen und schnellen PHP Code gehoert?

Das waere schnell:

<?php
print ' hat '.$nodecount.' Beiträge geschrieben. Diese wurden insgesamt '.$total_nodeviews.' mal aufgerufen.';
?>

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

quiptime, hast recht,

Eingetragen von derjochenmeyer@... (591)
am 29.11.2007 - 08:26 Uhr

quiptime, hast recht, *schäm*

hab das der Faulheit und Übersichtlichkeit halber so hingetippt. Aber ehrlich gesagt, in dem Fall macht es auch nicht viel aus. Es ist nur ein kurzer Satz. Der Interpreter muss aber den string durchsuchen. Schneller ists, ihm die Variablen eplizit zu liefern.

Sag mal quiptime, ist das von der Art der Anführungszeichen abhängig?

Wenn ich "einen sehr langen Satz" mit doppelten Anführungszeichen schreibe. Woher weis der Interpreter ob er jetzt Variablen suchen soll oder nicht?

  • Anmelden oder Registrieren um Kommentare zu schreiben

keine Faulheit, sondern nur dumme Angewohnheit

Eingetragen von quiptime (4972)
am 29.11.2007 - 09:45 Uhr
Zitat:

Es ist nur ein kurzer Satz.

In dem Fall ja. Aber wenn eine PHP Datei aus tausenden Zeilen besteht. Wie sieht es dann aus. Da rechnen sich solche "nur kurzen Saetze" ganz schoen hoch.

Zitat:

Sag mal quiptime, ist das von der Art der Anführungszeichen abhängig?

Ja

Zitat:

Wenn ich "einen sehr langen Satz" mit doppelten Anführungszeichen schreibe. Woher weis der Interpreter ob er jetzt Variablen suchen soll oder nicht?

Er weiss es durch die doppelten Anfuehrungszeichen. Die bedeuten fuer den Interpreter, gucke nach ob es im String Variablen gibt. Er muss also in Fall ein mal mehr parsen. Und wenn es keine Variablen im String gibt ist es sinnloses parsen.
Wenn ich nun Strings ohne Variablen immer in einfache Anfuehrungsstrichen packe gibt es kein sinnloses parsen. Bei hunderten oder tausenden nicht geparster Strings ergibt das schon einen Unterschied.

Mit einfachen Anfuehrungszeichen gibt er den String ungefragt an den Webserver zur Auslieferung.

Die Faulheit mit den Anfuehrungszeichen bringt auch andere Code-Stilblueten hervor. Dabei wird es dann eigentlich schon perverser Code. Beispiel:

<?php
print "<img scr=\"foobar.jpg\" alt=\"foobar\" />";
?>

In diesem Fall spart man mit den einfachen Anfuehrungszeichen sogar:
<?php
print '<img scr="foobar.jpg" alt="foobar" />';
?>

Bei PHP Variablen ist es das Gleiche. Beispiel:

<?php
$foo
["bar"];
$foo["$bar"];
?>

Besser ist auch dabei:

<?php
$foo
['bar']
$foo[$bar];
?>

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke für die Erklärung :)

Eingetragen von derjochenmeyer@... (591)
am 29.11.2007 - 10:55 Uhr

Danke für die Erklärung :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

wieder was gelernt, danke!

Eingetragen von derBen (432)
am 17.12.2007 - 14:05 Uhr

danke!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 5 Tagen
  • Hey danke
    vor 1 Woche 6 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 4 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 4 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 5 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 6 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 17 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association