Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

Anzahlnodes mit bestimmten Feld

Eingetragen von JenneMander (112)
am 27.03.2014 - 11:55 Uhr in
  • Modul-Entwicklung

Hallo Drupalcommunity,
ich möchte gerne via db_query herausbekommen wieviele Nodes mit einem bestimmten Inhalt ich habe. Dabei gelingt es mir leider nicht mit dem folgenden Code:

SELECT count(n.field_md_value) FROM {field_data_field_md} n WHERE n.field_md_value ='".$value."'"

Vielleicht kann mir von euch jemand helfen.
mit bestem Dank
Jenne

‹ DB Abfrage- Standardabfrage funktioniert nicht!??? hook_node_view_alter, wie funktioniert der? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hi Jenne

Eingetragen von Hyp1 (1463)
am 27.03.2014 - 12:11 Uhr

ist n.field_md_value ein VARCHAR Datentyp (wegen den Anführungszeichen)?
Gibt es eine Fehlermeldung schmal inm PHP log und Watchdog nach?

Eines noch, wenn Du diesen Query so aufrufst:
SELECT count(n.field_md_value) FROM {field_data_field_md} n WHERE n.field_md_value ='".$value."'"
bekommst Du mit fetch_object $row->count(n.field_md_value) als object zurück
mit fetch_array $row['count(n.field_md_value)'] als array.

Ich glaube das Objekt echo $row->count(n.field_md_value); kannst Du in PHP nicht so verwenden.
Als Array funktioniert es echo $row['count(n.field_md_value)']; .
Besser ist Du gibst auch count einen Alias:
SELECT count(n.field_md_value) AS cnt FROM {field_data_field_md} n WHERE n.field_md_value ='".$value."'"
Dann bekommst Du $row->cnt; (fetch_object) oder $row['cnt'] (fetch_array).

LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

nutze db_query

Eingetragen von maen (547)
am 27.03.2014 - 12:24 Uhr

Du hast da einen SQL Select Befehl, aber kein db_query!

Bsp-Code:

<?php

$uid
= 1;
$result = db_query('SELECT n.nid, n.title, n.created
FROM {node} n WHERE n.uid = :uid'
, array(':uid' => $uid));
// Result is returned as a iterable object that returns a stdClass object on each iteration
foreach ($result as $record) {...

?>

Du musst einen join machen wegen der Felder mit dem gesuchten Typ, wenn Du von {node} ausgehst. Oder Du gehst direkt auf die Tabelle des Feldes, also von mir aus {field_data_field_bla} und lädst die alle.

dann in der foreach setzt Du einen counter, bspw.:

<?php

$counter
=0;
  foreach(){
...
$counter = $counter +1; // Geht auch schöner aber so versteht man es auch.
}
 
?>

Dann hast Du nachher die Anzahl der rows drin = Anzahl der nodes mit dem Feld.

PS: Aus didaktischen Gründen:
statt $uid stelle Dir $value vor!

PPS: Drupal way wäre entityfieldquery, ist am einfachsten. Da wurde auch in der KLasse direkt eine count Methode eingebunden.

$count = $query->count()->execute();

  • Anmelden oder Registrieren um Kommentare zu schreiben

ja sorrie, ich schreibe

Eingetragen von JenneMander (112)
am 28.03.2014 - 06:53 Uhr

ja sorrie, ich schreibe db_query(...), ich probiere gleich mal alles aus.
Also am einfachsten scheint da wirklich die Klasse EntityFieldQuery zu arbeiten:

hier meine Lösung:
[code]
$query = new EntityFieldQuery();
$query -> entityCondition('entity_type','node')
->fieldCondition('field_md_uuid','value',$uuid,'=');
$result = $query->count()->execute();
[/code]

mit bestem Dank
Jenne

  • Anmelden oder Registrieren um Kommentare zu schreiben

gerne!

Eingetragen von maen (547)
am 28.03.2014 - 08:31 Uhr

gerne!

  • 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 2 Wochen 2 Tagen
  • Hey danke
    vor 2 Wochen 3 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 1 Tag
  • Da scheint die Terminologie
    vor 3 Wochen 1 Tag
  • Kannst doch auch alles direkt
    vor 3 Wochen 5 Tagen
  • In der entsprechenden View
    vor 3 Wochen 5 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 5 Tagen
  • gelöst
    vor 6 Wochen 2 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 3 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20454

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 21 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