SQL-Datenbank auslesen und Daten in Tabelle ausgeben

  • Hallo Joomla-Freunde,
    als Joomla-Anfänger bin ich dabei eine bestehende SQL-Datenbank mit ca 150 Adressen in Joomla zu integrieren. War nicht einfach, aber habe es hingekriegt. Mit folgendem Code bekomme ich auch Zugang zur Datenbank:
    <
    <?php $db=JFactory::getDBO(); $db->setQuery("SELECT * FROM #__db-daten"); $result = $db->loadObjectList(); foreach( $result as $zeile) { echo $zeile->text1;}?>
    >
    Nur steht hier alles unformatiert in einer Reihe. Die Daten, die ich auslesen will sollen aber in einer Tabelle mit 40 Feldern dargestellt werden. Die Tabelle ( hier zwei Felder auszugsweise ), in die die Daten rein sollen sieht in ihrer Struktur so aus.


    <
    echo "<tr>";
    echo "<td class='bez'>Vorname / Name</td>";
    echo "<td class='daten'>" . $zeile['v_vorname'] ." ". $zeile['v_nachname'] . "</td>";
    echo "</tr>";

    echo "<tr>";
    echo "<td class='bez'>Straße-Nr</td>";
    echo "<td class='daten'>". $zeile['v_strassenr'] . "</td>";
    echo "</tr>";
    >


    Was mir fehlt, ist der verbindende Code zwischen Abfrage und Tabelle, einer "Schleife" die mir die Daten formatiert in die Tabelle schreibt. Hier schwitze ich schon seit Tagen dran.
    Es will einfach nicht funktionieren. Könnte mir hier jemand hilfreich unter die Arme greifen.


    LG ernades

  • Vielleicht könnte dich ja ein anderes Konzept interessieren.


    Wenn du die Tabelle #__db-daten aus PhpMyAdmin heraus mal als CSV exportierst, und dann mein Plugin für die Ausgabe als Tabelle (auch Responsive) einsetzt, sparst du dir vielleicht ne menge Arbeit. Vorrausgesetzt die Daten werden nicht von einer Erweiterung in Joomla generiert.


    https://github.com/JoomTools/plg_content_jtcsv2html/releases

  • Um zu zeigen wie so ein Array abgearbeitet wird: hier ein Pseudocode.
    Du hast von der Datenbank eine ObjectList $result bekommen.
    Dann gehst du mit einer foreach Schleife über dieses Ergebnis-Array.


    Das alles auch gut und sicher (escapen der Felder!) korrekt und responsive zu machen ist eine andere Sache.
    Schau dir das Plugin von @deGobbis jedenfalls mal an.

  • Hallo OJ,
    danke für die Antwort. Mein Grundgedanke ist, eine ältere Webseite www.kcv-sb.de, zu modernisieren und auf JOOMLA umzustellen. Auf meinem XAMPP-Server ist auch bereits alles bis auf die Datenbankanbindung fertig. Auf der genannten Webseite werden unter CHÖRE Daten ( Adressen ) aus der Datenbank abgerufen. Die SQL-Datenbank mit ihren Daten konnte ich in JOOMLA einbauen. Es hapert jetzt an der Darstellung der Adressdaten in Joomla. Die Daten sollen auch von einem registrierten USER editierbar sein. Wie aus der Webseite zu ersehen ist, werden pro Chor rund 40 Felder ausgelesen und dargestellt.
    Ich habe mir "table-jx" angesehen, aber da gibt es keine DEMO mehr. Wenn du das Programm kennst und es mein Problem lösen kann werde ich es kaufen.
    In meinem Beispiel hatte ich leider vergessen "$zeile" durch "§row" zu ersetzen. Aber auch dann funktioniert es nicht. Die Anbindung an die Datenbank ( der erste Code ) funktioniert, aber dann werden nur die Daten unformatiert hintereinander ausgegeben. Mir fehlt der richtige Code, der mir die Daten in meine Tabelle schreibt. Daran verzweifele ich im Moment. Wenn das Programm table-jx das kann, werde ich es sofort versuchen.


    Gruss ernades

  • Gut... so viele Einträge sin das nicht. Ich würde mir das mit Custom Fields in Joomla Beiträgen zusammen setzten. Dann Übertrage - wenn von Hand mit dem gutem Gewissen das ic dafür nicht mal eine Erweitrung instrallieren mus. Denke da Sicherheit - weniger ist halt mehr. Denke auch das es möglich ist das ganze aus der db zu exportieren ein wenig aufarbeiten und dann in die Joomla Datenbank zu importiern. Habe was Import in verbindung mit Custom Fiuelds angeht mich noch nicht beschäftigt. Mal so als Idee.

  • Hallo OJ,
    es handelt sich hier um 77 Chöre mit jeweils 2-3 Adressen. Also 77 mal 40 Felder ausfüllen, das wäre schon eine wahnsinnige Fleißarbeit alles neu einzutragen. Gibt es denn vieleicht eine kleinere Ausführung von Seblod. Etwas ähnliches? Wie bereits erwähnt, habe ich alle Daten ( Adressen ) in der Joomla-Datenbank drin. Ich muss diese jetzt nur pro Chor auslesen und in einer Tabelle darstellen. Ich hätte nicht gedacht, dass dies in Joomla so schwer umzusetzen ist. Danke für dein Bemühen.


    Gruss ernades

  • Moin,


    ich bin der Aufffasung, das mit jedem CCK eine Einarbeitungszeit erforderlich werden wird.
    Es ist meiner Meinung nach unbeschritten, dass Seblod sehr mächtig und leider nicht sehr intuitiv ist,
    Für Seblod spricht u.a., dass es ein deutsches Forum gibt, Tutorials, Youtube etc.
    Ob ein solch mächtiges CCK für einen Joomlaeinsteiger das Passende ist, muss jeder selbst entscheiden.


    Christian

  • Hallo Christian,
    für den einmaligen Einsatz ist mir die Einarbeitung in Seblod zu aufwändig. Ich werde da nach einer anderen Lösung suchen müssen meine Daten aus der Joomladatenbank anzeigen zu lassen. Auf meiner in diesem Beitrag angesprochenen Webseite lese ich die Daten per PHP-Script aus der SQL-Datenbank aus. Das sich das Auslesen einer SQL-Datenbank in joomla so schwierig gestalten würde, da joomla doch selbst mit einer SQL-Datenbank arbeitet, hätte ich nicht gedacht. Ich kann die Datenbank, die ich von der alten Webseite übernommen und eingefügt habe ansprechen und auch einzelne Daten auslesen, aber unformatiert. Ich würde die Daten gerne per ID und einer while-Schleife ansprechen und in eine Tabelle schreiben. Und genau da liegt mein Problem.


    Gruß ernades

  • Hallo deGobbis,
    da in den Vorständen von Vereinen immer Bewegung ist, sollen die Adressdateien auch editierbar sein. Dies konnte ich über ein PHP-Script als Admin komfortabel erledigen. Damit PHP auf joomla läuft habe ich das Plugin DirectPHP installiert. Ein PHP-Scrip, die Terminverwaltung der alten Webseite läuft bereits auf meiner neuen Joomla-Webseite einwandfrei. Durch das Plugin kann ich PHP-Script in einer Inhaltsseite laufen lassen. Ich bin nach wie vor davon überzeugt, dass es nur noch ein kleiner Schritt ist, bis das alte Script auf Joomla angepasst ist. Es fehlen mir einfach die PHP Programmierkenntnisse das Script zu vervollständigen. Leider! Ich hatte gehofft, dass mir Experten beim Programmcode weiterhelfen könnten. Mit groben Ratschlägen komme ich nicht weiter. Da werde ich wohl noch weiter googlen müssen.
    Ich werde mir übers Wochende deinen Tipp mit JoomTools ansehen. Da joomla sebst mit einer SQL-Datenbank arbeitet sollte es auch damit umgehen können. Ich denke, dass ein Formularprogramm mir vielleicht weiterhelfen kann, wenn ich die Felder mit identischen Bezeichnungen anlege. Die Struktur wird von der SQL-Datenbank ja vorgegeben. Danke!


    Gruss Ernst

  • Mit jooDB brauchst du nur eine entsprechende Abfrage der Tabelle formulieren, und das Ausgabetemplate gestalten. Die Datensätze sind im Backend veränderbar, der Output ist per CSS gestaltbar. Natürlich muss man sich auch dort etwas einfuchsen, evtl genügt ja schon die kostenlose Version, da würde ich mit einer Joomla Testinstallation mit der Vereinstabelle in der selben DB "herumspielen".


    Dazu Bedarf es natürlich mehr Motivation, als die Erwartung, dass dir Experten eine Lösung auf dem Silbertablett servieren.

  • Hallo j!-n,
    du bist jetzt der erste, der konkret sagt, dass dieses Programm meine Anforderung erfüllen kann. Anscheinend kennt sonst niemand das Programm näher. Ich hatte es in den Extensions auch schon gefunden, nur bin ich als Rentner, der auf die 70 geht in Englisch nicht so fit wie andere und komme mit den Erläuterungen nicht so zu recht wie andere.
    Danke für deinen Tipp.


    Gruss Ernst

  • Hallo Ernst, die Entwickler von jooDB sprechen deutsch, es gibt dort auch ein Supportforum. Wenn man die Pro-Version erwirbt, gibt es auch persönlichen Support. Wie gesagt, ich würde das erstmal testen. Jedenfalls ist das besser und einfacher, als die bestehenden Datensätze in ein "fertiges CCK Korsett" zu zwängen, auch da kommst du nicht ohne weiterführendes Fachwissen herum, was vor allem den Import der Daten anbelangt.


    So kannst du bestimmen, welche Daten wie ausgegeben werden sollen, denn du hast ja eine fertige Tabelle vorzuliegen. Wichtig ist, dass die einzelnen Datensätze mit einer ID indiziert sind. Alles andere kannst du dir mit einem Query zusammenbasteln.