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

rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 4. Okt 2012, 23:14
von Gunnar
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();

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 7. Okt 2012, 10:26
von littledave
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

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 10. Okt 2012, 20:53
von Gunnar
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. :)

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 11. Okt 2012, 09:39
von littledave
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

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 23. Nov 2012, 16:24
von Rumi
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

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 26. Nov 2012, 19:43
von Thomas.Blum
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

Re: rexlist - Inhalt aus Zweittabelle statt ID darstellen

Verfasst: 27. Nov 2012, 12:56
von Rumi
Ja, bitte verzeiht meinen doppelten Eintrag! Bitte nur noch den Thread welcher Thomas verlinkt hat verwenden.