Anzahl Nodes eines Inhaltstyps in Drupal 7 zählen
am 31.07.2012 - 12:07 Uhr in
Hallo Leute,
irgendwie habe ich ein Deja Vu, weil ich selbiges Problem schon mal mit Drupal 6 hatte. Da im aktuellen Drupal aber die API geändert wurde, muss ich anstelle von "db_result" die Funktion "db_query" benutzen.
Habe mir mit Views schon mal die SQL Anfrage zusammengebaut. die müsste dann folgendermaßen eingebunden sein
<?php
db_query ("SELECT COUNT(node.nid) AS num_records
FROM {node} node
WHERE (( (node.type IN ('mietangebot')) AND (node.status = '1') ))");
?>
Nun habe ich aber irgendwie das Problem, dass ich das Ergebnis nicht einfach mit print ausgeben lassen kann, da es eine Schleife verursacht die die Seite nicht mehr aufrufbar macht...
ich weiß, ich könnte das auch als Views Block basteln, aber hier hätte ich das Problem, dass ich die verschiedenen Inhaltstypen nicht mit verschiedenen Links belegen könnte (die jeweils zu einer anderen URL führen)
Würde mich über etwas Hilfe freuen.
schon einmal vielen Dank.
- Anmelden oder Registrieren um Kommentare zu schreiben
db_select
am 31.07.2012 - 13:01 Uhr
Moin.
Schau Dir mal [api:db_select:7] und Konsorten an, damit geht das wunderbar.
In Deinem Fall müsste das hier funktionieren:
<?php
$results = db_select('node', 'n')
->fields('n', array('nid'))
->condition('n.type', 'mietangebot')
->condition('n.status', '1')
->countQuery()
->execute()
->fetchField();
?>
Hallo stBorchert deine Lösung
am 31.07.2012 - 13:36 Uhr
Hallo stBorchert
deine Lösung funktioniert hervorragend.
auf den Ansatz wäre ich so gar nicht gekommen.
Vielen Dank
Hallo stBorchert, ich habe da
am 28.09.2012 - 06:34 Uhr
Hallo stBorchert,
ich habe da noch mal ne Frage und ich hoffe du kannst mir irgendwie helfen.
Und zwar habe ich im Inhaltstyp mietangebot ein Feld (field_objektstatus) das entweder als "zur vermietung" bzw. "zum Verkauf" per Checkbox gesetzt werden kann.
hast du vielleicht ne Idee, wie ich die Anzahl der Vorkommen von "zur vermietung" bzw. "zum verkauf" zählen kann?
ich hab versucht das obige Beispiel entsprechend abzuwandeln, da müsste ja irgendwo ne if Abfrage rein, aber ich krieg das irgendwie nicht syntaktisch zusammen...
wäre für Hilfe dankbar.
join
am 28.09.2012 - 11:21 Uhr
Du musst noch einen "JOIN" zu der Tabelle, in der die Felder gespeichert sind hinzufügen (siehe Kommentare auf [api:db_select:7]).
Alternativ bietet sich auch einen EntityFieldQuery für soetwas an.
Hallo und Danke für den Tipp,
am 28.09.2012 - 11:36 Uhr
Hallo und Danke für den Tipp, werde ich am Montag mal versuchen,
nur zur Info, ich habe auch
am 01.10.2012 - 09:41 Uhr
nur zur Info, ich habe auch nen Weg gefunden, wie ich das auch per Views machen kann. über die Aggregation des entsprechenden Feldes hab ich das ganze auch hinbekommen...
Anscheinend gibt es ein
am 01.10.2012 - 09:53 Uhr
Anscheinend gibt es ein Module for that http://drupal.org/project/views_calc
auch nich schlecht, auch wenn
am 01.10.2012 - 10:04 Uhr
auch nich schlecht, auch wenn hier mehr die Berechnung im Vordergrund steht, für statistische Durchschnittswerte sicher nicht so verkehrt.