User Tabelle sortieren
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 17.02.2010 - 09:47 Uhr in
Hallo zusammen,
gibt es eine Möglichkeit, dass User Tabellen bzw. Views eigenständig auswählen bzw. generieren können?
- Zum Beispiel eine Eingabemöglichkeit "Zeige alle Events von: EINGABE A bis: EINGABE B"?
Außerdem fällt mir auf, dass bei Tabellen bzw. Views schon "Sortierbuttons" im Output vorhanden sind, diese aber nichts bewirken?!
Wäre Euch über Tipps sehr dankbar...
Grüße Christian
- Anmelden oder Registrieren um Kommentare zu schreiben
In einem gewissen Maße geht
am 17.02.2010 - 10:17 Uhr
In einem gewissen Maße geht das, kommt drauf an wonach gefiltert wird bzw. nach was der User filtern darf. Wenn du bei einem View einen neuen Filter hinzufügst kannst du diesen als "hervorgehoben" markieren, d.h. der User darf bei diesem Filter selbst auswählen wonach gefiltert wird.
z. Bsp. Du möchtest nach Begriff in einem Taxonomie-Vokabular filtern. Wenn du diesen als hervorgehoben markierst kann der User z.Bsp. über eine Selektbox den Begriff auswählen. Wenn du dazu nach Ajax aktivierst, dann wird beim ändern des Filters nur der View neu geladen und nicht die ganze Seite.
Was die Sortierung angeht, schau mal in die Darstellungs-Optionen des Views. Unter "Darstellung" kannst du aussuchen wie die Ergebnisse angezeigt werden und, wenn ich mich recht erinnere, auch, wonach sortiert werden kann.
Geht das auch für...
am 17.02.2010 - 10:43 Uhr
...Nodes die man via PHP erzeugt...?
Zitat: ...Nodes die man via
am 17.02.2010 - 12:08 Uhr
...Nodes die man via PHP erzeugt...?
Wie meinste das? Nodes sind im Prinzip Datensätze in der Drupal-Datenbank. Und da Drupal ja im Prinzip PHP ist werden alle Nodes via PHP erstellt bzw. es wird über PHP die entsprechende SQL-Anweisung ausgeführt um die Daten in die Datenbank zu schreiben.
ich habe einen Node erstellt mit folgendem Textkörper...
am 17.02.2010 - 12:23 Uhr
...über Eingabeformat: PHP Code:
<?php
$sql = "SELECT ...";
$header = array(
array('data' => 'Spieler', 'field' => 'spieler'),
array('data' => 'Anwesend', 'field' => 'tteilnahme'),
array('data' => 'Abwesend', 'field' => 'tkteilnahme'),
array('data' => 'Quote Training', 'field' => 'tanzahl'),
array('data' => 'Anwesend', 'field' => 'steilnahme'),
array('data' => 'Abwesend', 'field' => 'skteilnahme'),
array('data' => 'Quote Spiel', 'field' => 'sanzahl')
);
$result = db_query(db_rewrite_sql($sql, 'story', 1));
while ($data = db_fetch_object($result)) {
$rows[] = array($data->spieler,
$data->tteilnahme,
$data->tkteilnahme,
$data->tanzahl,
$data->steilnahme,
$data->skteilnahme,
$data->sanzahl);
}
if (!$rows) {
$rows[] = array(array('data' => t('Empty at the moment..'), 'colspan' => '4'));
}
echo theme('table', $header, $rows);
echo theme('pager', NULL, 50, 0);
?>
und diese Tabelle im Textkörper...
am 17.02.2010 - 12:26 Uhr
...würde ich gerne vom User filtern / sortieren lassen ...
Außerdem wäre es interessant, ob man auf die "Ergebniszeilen" irgendwie zugreifen kann... Sind die auch in irgendeiner Datenbank hinterlegt?
Grüße Christian
Tipp
am 17.02.2010 - 13:17 Uhr
Mal ein gut gemeinter Tipp am Rande: soetwas gehört nicht in eine Node sondern in ein eigenes Modul.
Also, erstelle Dir ein Modul und gib die Daten dann über einen Menu-Callback unter einem bestimmten Pfad aus. Das ist wesentlich sauberer.
Stefan
--
Sei nett zu Deinem Themer!
Hmm, sehr gern...
am 17.02.2010 - 13:56 Uhr
...nur wie erstelle ich eigene Module? Kannst Du mir da ne Dokumentation / Handbuch empfehlen, wo das möglichst verständlich erklärt wird?
Vielen Dank und Viele Grüße
Christian
"Pro Drupal Development" ist
am 17.02.2010 - 14:05 Uhr
"Pro Drupal Development" ist für mich da immer noch die erste Wahl.
Beste Grüße
Werner
Handbuch
am 17.02.2010 - 14:13 Uhr
...nur wie erstelle ich eigene Module? Kannst Du mir da ne Dokumentation / Handbuch empfehlen, wo das möglichst verständlich erklärt wird?
Schau mal oben auf diese Seite. Da gibt es einen Menüpunkt mit dem Namen "Handbuch".
Wenn Du dort draufklickst erhälst Du eine Liste von Links. Ein schneller Klick auf "Entwicklung von Modulen und Themes" bringt Dich zu einer weiteren Seite, die Dich dann zum "Leitfaden zur Entwicklung von Modulen". Von dort solltest Du es wohl alleine zum entsprechenden Handbuch schaffen ...
Stefan
--
Sei nett zu Deinem Themer!
Zitat: <?php$sql = "SELECT
am 17.02.2010 - 14:49 Uhr
<?php
$sql = "SELECT ...";
$header = array(
array('data' => 'Spieler', 'field' => 'spieler'),
array('data' => 'Anwesend', 'field' => 'tteilnahme'),
array('data' => 'Abwesend', 'field' => 'tkteilnahme'),
array('data' => 'Quote Training', 'field' => 'tanzahl'),
array('data' => 'Anwesend', 'field' => 'steilnahme'),
array('data' => 'Abwesend', 'field' => 'skteilnahme'),
array('data' => 'Quote Spiel', 'field' => 'sanzahl')
);
$result = db_query(db_rewrite_sql($sql, 'story', 1));
while ($data = db_fetch_object($result)) {
$rows[] = array($data->spieler,
$data->tteilnahme,
$data->tkteilnahme,
$data->tanzahl,
$data->steilnahme,
$data->skteilnahme,
$data->sanzahl);
}
if (!$rows) {
$rows[] = array(array('data' => t('Empty at the moment..'), 'colspan' => '4'));
}
echo theme('table', $header, $rows);
echo theme('pager', NULL, 50, 0);
?>
Sieht irgendwie so aus, als ob du dir eine Liste von Spielern mit gewissen Eigenschaften ausgeben lässt. Was würde denn dagegen sprechen einen eigenen Inhaltstypen für die Spieler anzulegen, mit CCK entsprechende Felder zu definieren und die Liste der Spieler dann über Views auszugeben? Dann könntest du diese kinderleicht sortieren und dem user erlauben entsprechend zu filtern.
naja...
am 17.02.2010 - 15:01 Uhr
die SQL Syntax ist sehr umfangreich und kompliziert, ob das via Inhaltstyp/CCK funktioniert weiß ich nicht. Ich denke, ich versuche es mal mit dem Vorschlag ein eigenes Modul zu programmieren...
Unabhängig davon: Kann mir jemand sagen, ob und wenn ja wie ich den Inhalt von Nodes bzw. mit welcher SQL (Feld) erhalte?
Da würde ich immer über
am 17.02.2010 - 15:49 Uhr
Da würde ich immer über die Drupal Funktion node_load($nid) gehen. Die liefert Dir bei Übergabe der Node-ID den Node mit allen Feldern als Objekt zurück.
Beste Grüße
Werner