[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
rexlist - Inhalt aus Zweittabelle statt ID darstellen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
Gunnar
Beiträge: 53
Registriert: 18. Dez 2007, 10:09
Kontaktdaten: Website

rexlist - Inhalt aus Zweittabelle statt ID darstellen

4. Okt 2012, 23:14

Hallo zusammen,

ich bastel gerade mein erstes AddOn zusammen und dank des Tutorials ist auch alles recht einfach zu lösen. Nur jetzt bin ich über etwas gestolpert, wo ich nicht so recht weiß, an welcher Stelle ich ansetzen soll.

Ich habe insgesamt drei Tabellen: Spieler, Spiel und Statistik.

In meiner Statistiktabelle speichere ich für Spieler und Spiel die IDs, die die beiden Einträge in ihren jeweiligen Tabellen haben. Im Eingabeformular ist es kein Problem, da lasse ich mir statt der ID den Namen, bzw. die Spielpaarung im Dropdownmenü anzeigen.
Auf der Übersichtsseite stehen aber nun nur die beiden IDs und es wäre ja schöner, wenn dort stattdessen auch die Namen/Paarungen stehen würden.

Beispielsweie müsste in der Zeile
$list->setColumnParams('spieler', array('func' => 'edit', 'id' => '###id###'));
ja das 'spieler' durch den Namen des Spielers aus der Spielertabelle ersetzt werden, damit es hübsch aussieht und lesbarer ist.

Und genau da fehlt mir nun der Ansatz, wie ich das hinbekomme. :?

Hier noch der Ausgabecode:

Code: Alles auswählen

$list = new rex_list('SELECT * from '.$REX['TABLE_PREFIX'].'777_statistik order by spiel DESC');

$imgHeader = '<a href="'. $list->getUrl(array('func' => 'add')) .'"><img src="media/metainfo_plus.gif" alt="add" title="add" /></a>';

// Sortierbare Spaltenkoepfe
$list->setColumnSortable('spieler');
$list->setColumnSortable('spiel');

$list->addColumn(
    $imgHeader, 
    '<img src="media/document.gif" alt="edit" title="edit" />',
    0, 
    array(
        '<th class="rex-icon">###VALUE###</th>',
        '<td class="rex-icon">###VALUE###</td>'
    )
);

// Beschriftungen für Spaltenköpfe
$list->setColumnLabel('spieler', "Spieler");
$list->setColumnLabel('spiel', 'Spielpaarung');

$list->setColumnParams('spieler', array('func' => 'edit', 'id' => '###id###'));
$list->show();
Das ist zumindest mein Standpunkt. Es gibt natürlich auch andere. Aber die sind falsch.

Benutzeravatar
littledave
Beiträge: 144
Registriert: 25. Jan 2006, 14:04
Wohnort: Coburg, Germany

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

7. Okt 2012, 10:26

Hi Gunnar,

probiere's mit:

Code: Alles auswählen

<?php

$list = new rex_list('
	SELECT
		stats.spiel,
		players.name
	FROM
	    '.$REX['TABLE_PREFIX'].'777_statistik as stats
	LEFT JOIN 
	    '.$REX['TABLE_PREFIX'].'777_spieler as players
	ON (players.id = stats.spieler_id)
		 
	
	ORDER BY
		spiel DESC');

?>
(die Feldnamen entsprechend anpassen).

lg.

Dave

Benutzeravatar
Gunnar
Beiträge: 53
Registriert: 18. Dez 2007, 10:09
Kontaktdaten: Website

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

10. Okt 2012, 20:53

Dankeschön, mit ein wenig Anpassungen ist die Ausgabe schon fast so, wie ich es mir eigentlich vorgestellt habe. :)

Da ich da nun schon relativ viele Einträge habe und es beinahe wöchentlich mehr werden, stelle ich mir die Frage, wie man es am besten löst, wenn man in dem Bereich oberhalb der Tabell noch eine Auswahlmöglichkeit haben möchte.

Also zum Beispiel im angehängten Screenshot (ist noch ohne die bessere SQL-Abfrage!) rechts neben die Pagination eventuell. Im Screenshot würde ich zum Beispiel nach den Spielpaarungen abfiltern wollen. Geht das? Und wenn ja, da ich noch nicht tief in der Materie drin bin, wie stelle ich es am besten an? Bietet Redaxo da Möglichkeiten? :)
Oder muss ich mir etwas eigenes ausdenken und einen eigenen Parameter aufrufen und irgendwie verarbeiten?

Danke schon einmal vorab. :)
Dateianhänge
addon01.jpg
addon01.jpg (26.19 KiB) 12478 mal betrachtet
Das ist zumindest mein Standpunkt. Es gibt natürlich auch andere. Aber die sind falsch.

Benutzeravatar
littledave
Beiträge: 144
Registriert: 25. Jan 2006, 14:04
Wohnort: Coburg, Germany

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

11. Okt 2012, 09:39

Hi Gunnar,

anbei ein rex_form-Beispiel mit einem Suchformular. Die Technik könnte man etwas anpassen und um ein Select/Dropdown-Feld erweitern.
Dave

Rumi
Beiträge: 73
Registriert: 20. Aug 2010, 01:35

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

23. Nov 2012, 16:24

Gunnar hat geschrieben:Im Eingabeformular ist es kein Problem, da lasse ich mir statt der ID den Namen, bzw. die Spielpaarung im Dropdownmenü anzeigen.
Hallo Gunnar

leider hat sich mir die Einfachheit bei diesem Thema noch nicht erschlossen... Ich möchte mit einem Eingabe-Formular und rex_list zwei DB-Tabellen füttern, und das dann in der Ausgabe als ein Datensatz anzeigen können. Wie mache ich das? Schlüssel ist die ID der einen Tabelle.

Um Hinweise oder sogar Code-Snippets bin ich dankbar.

Liebe Grüsse
Rumi

Benutzeravatar
Thomas.Blum
Entwickler
Beiträge: 5063
Registriert: 24. Aug 2004, 22:11
Wohnort: Dresden
Kontaktdaten: Website

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

26. Nov 2012, 19:43

Hej Rumi,

du müsstest das genauer erklären.

Wenn es um dieses Thema[1] geht, dann bitte dort weiter schreiben.

vg Thomas

[1] http://www.redaxo.org/de/forum/addons-f ... 18667.html

Rumi
Beiträge: 73
Registriert: 20. Aug 2010, 01:35

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

27. Nov 2012, 12:56

Ja, bitte verzeiht meinen doppelten Eintrag! Bitte nur noch den Thread welcher Thomas verlinkt hat verwenden.

Zurück zu „Allgemeines [R4]“