[gelöst] Mit Views eigene MySQL-Tabelle darstellen
Eingetragen von Exterior (2903)
am 07.12.2009 - 18:09 Uhr in
am 07.12.2009 - 18:09 Uhr in
Hallo Leute,
Ich habe mir in meiner Drupal-Datenbank eine eigene Tabelle angelegt und diese mit Werten gefüllt. Allerdings weiß ich nicht so recht, wie ich das ganze jetzt wieder gescheit ausgeben kann =(
Views macht ja im Grunde auch "nur" SQL-Abfragen, kann ich irgendwie mittels Views auf meine eigene Tabelle zugreifen?
Oder wie sonst kann ich ordentlich die Daten wieder ausgeben, mit Argumentübergabe, Filter usw?
mfg Exterior
- Anmelden oder Registrieren um Kommentare zu schreiben
Woher soll Views denn
am 07.12.2009 - 20:01 Uhr
Woher soll Views denn wissen, wie Deine Tabelle strukturiert ist? Es gibt 2 Möglickeiten, die mir spontan einfallen:
Du schreibst ein Node Modul und fügst darüber die Daten in die Tabelle und zeigst sie auch entsprechend an (einfügen der Daten in den Node über hook_nodeapi).
Du schreibst ein Modul das Deine Daten so anzeigst, wie du es möchtest und verlinkst das mittels hook_menu auf einen Pfad/Menüpunkt.
Beste Grüße
Werner
Leider habe ich noch nie ein
am 08.12.2009 - 21:31 Uhr
Leider habe ich noch nie ein eigenes Modul geschrieben und kenne mich damit noch gar nicht aus =(
Im Grunde möchte ich die Tabelle mit allen Spalten ausgeben, das ganze muss eigentlich nur nach der Node-ID (die mit in der Tabelle steht) gefiltert werden (per WHERE-Klausel im SQL).
Ist es auch irgendwie möglich, eine View mit bestimmten Nodes zu erstellen (Also einfach nur als Feld den Nodetitel und als Filter einen bestimmten Inhaltstypen) und die Ausgabe der Nodetitel so zu ändern, dass sie auf einen bestimmten Pfad weisen und dabei die Node-ID als Argument übergeben?
Also z.B. als Link "http://www.example.com/auswertung/57" für den Node mit der ID 57 und dann per PHP das Argument auslesen und in der SQL-Abfrage einbauen.
Geht sowas? Per PHP könnte ich die Tabelle dann ja selbst ausgeben.
Du kommst solange mit Views
am 08.12.2009 - 21:53 Uhr
Du kommst solange mit Views an die Tabelle nicht ran, bis es ein Drupal-Element gibt, das in dieser Tabelle steht. Also am besten doch mal mit einem der folgenden Bücher bechäftigen:
Pro Drupal Development
Das Drupal-Entwicklerhandbuch
da du ja angibst PHP programmieren zu können. Module schreiben ist nicht so schwer und wird immer mal wieder gebraucht. Es gibt dazu auch Handbuchseiten auf Drupal.org und hier bei Drupalcenter.de.
Beste Grüße
Werner
Gut, dann lerne ich eben ein
am 08.12.2009 - 23:42 Uhr
Gut, dann lerne ich eben ein wenig was zu Modulen ^^ Schadet sicherlich nicht, sich solches Wissen anzueignen =)
Aber bevor ich mir ein gebundenes Buch für 30 bis 50 Euro kaufe, arbeite ich mich erstmal durch das Modul-Tutorial von Stefan (ich vermute mal, dass das nicht so falsch sein kann für den Einstieg) und danach werde ich nochmal über so ein Buch nachdenken ;)
Na dann, vielen Dank, jetzt habe ich zumindest endlich mal den Anstoß, mich an ein eigenes kleines Modul zu wagen ^^
mfg Exterior
Was steht denn alles in
am 09.12.2009 - 07:55 Uhr
Was steht denn alles in deiner neuen Tabelle und wie füllst du diese?
Ich habe in den vergangenen Tagen ein eigenes Modul geschrieben, welches Daten aus einer MsSQL mit jedem Cronjob in die Drupal-DB schiebt und auf einer Seite dann eine MySQL-Abfrage (in PHP gebettet) geschrieben. Die ruft bei jedem Aufruf der Seite die neu erstellte Tabelle aus MySQL auf und gibt diese Daten in einer HTML-Tabelle aus.
Views-Integration
am 09.12.2009 - 08:35 Uhr
Hallo.
Du hast zwei Möglichkeiten, die Daten auszugeben:
1) schreibe ein Modul, das die Daten in dem von Dir gewünschten Format ausgibt.
2) schreibe ein Modul, das über views-Handler eine Verbindung zu Views herstellt und somit die Daten von Views lesbar macht.
Option 1) ist der schnellere und einfachere Weg, wogegen Option 2) die flexiblere Lösung ist.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Geschafft =)
am 09.12.2009 - 20:12 Uhr
Hui, kleine Module gehen schneller, als ich gedacht habe =)
Habe mir jetzt ein kleines Modul geschrieben, welches aus der URL die Node-ID als Argument ausliest und sie an eine Funktion weitergibt und diese Funktion führt dann damit eine SQL-Abfrage durch und stellt mir das Ergebniss in einer schönen Tabelle dar =)
Damit ist mein Problem gelöst, danke für eure Hilfe =)
mfg Exterior