Summe und Anzahl eines CCK Feldes für einen User
am 10.06.2009 - 08:48 Uhr in
Hallo,
-Versionen:
Ich benutze CCK2 und Views2.
-Definitionen:
Ich hab einen Inhaltstyp mein_typ, der u.a. das Feld field_wert beinhaltet, welches Ganzzahl Werte speichert.
Jeder User darf eine beliebige Anzahl von mein_typ Inhalte erstellen.
-Problem:
Für jeden User soll auf seiner Profilseite (d.h. uid kann ich über argument beziehen) die Summe aller werte die in field_wert gespeichert sind angegeben werden. Mit SQL kenne ich mich eigtl. aus, jedoch nicht in der drupal spezifischen Tabellen und CCK Felder Syntax/Deklaration.
-Beispiel:
User A hat 5 Beiträge vom Typ mein_typ erstellt und jeweils den Wert 2 in field_wert eingetragen. Dann soll auf seinem Profil oder an einer anderen Stelle, der Wert 10 erscheinen.
Ich möchte die Abfrage in einem CCK computeField speichern. Ich suche also nach der SQL Abfrage die in db_query stehen soll. Also db_query('SQL COUNT(?)...FROM ?...?)')
- Anmelden oder Registrieren um Kommentare zu schreiben
Ist das vielleicht was für
am 10.06.2009 - 09:36 Uhr
Ist das vielleicht was für dich? http://drupal.org/project/views_calc
undpaul
Longevity Insights from Top Health Podcasts
views_calc
am 10.06.2009 - 09:40 Uhr
Bei views_calc habe ich noch nicht herausgefunden, wie man die ausgabe themen kann.
soweit ich das erkenne, gibt es nur die einstellung felder anzeigen als views_calc tabelle.
ich möchte aber die akkumulierten werte an beliebigen stellen meiner seite,
deswegen suche ich nach der richtigen sql syntax, um diese dann in php code einzubetten.
Variable in node.tpl.php
am 10.06.2009 - 22:10 Uhr
Ein ähnliches Problem habe ich auch gerade. Um hinter einer Überschrift die Anzahl der enthaltenen Beiträge eines Node Types auszugeben, habe ich versucht direkt in der Template Datei folgende Abfrage auszuführen:
<?php
$mytype = 'news'; // <<---------- set your content type here.
$count = db_result(db_query("SELECT COUNT(DISTINCT(n.nid))
FROM {node} n WHERE n.type='%s' AND .status=1", $mytype));
echo "$count nodes</a>";
?>
Leider erhalte ich immer die Fehlermeldung: Parse error: syntax error, unexpected T_VARIABLE in ...
Gibt es etwas, was ich beachten muss, um mit einer eigenen Variable zu arbeiten?
probiere mal
am 10.06.2009 - 22:53 Uhr
<?php
$mytype = 'news'; // <<---------- set your content type here.
$count = db_result(db_query("SELECT COUNT(DISTINCT(n.nid))
FROM {node} n WHERE n.type in ('%s') AND n.status=1", $mytype));
echo "$count nodes</a>";
?>
das müsste gehen! kannst du mir nun sagen wie ich ein cck feld in der sql abfrage anspreche??
Verweis
am 10.06.2009 - 23:19 Uhr
Schau mal hier: http://www.drupalcenter.de/node/8354
Da habe ich meine oben genannte Abfrage her und auch die Abfrage von CCK Feldern ist erläutert. Ich selbst kann dir leider nicht konkret antworten.
Die korrigierte Abfrage bring immer noch den selben Fehler. Wahrscheinlich liegt es an mir. Wo füge ich die Zeilen am besten ein? Ich habe es in der page-meinType.tpl.php gemacht, da ich dort einen speziellen Inhaltstyp darstelle... Falsch?