Ergebnis 1 bis 10 von 10

Thema: Auflistung einzelner Datenbankspalten

  1. #1
    Contao-Nutzer
    Registriert seit
    10.08.2014.
    Beiträge
    68

    Standard Auflistung einzelner Datenbankspalten

    Hallo Zusammen,

    ich möchte mit der Auflistung aus der Datenbank einzelne Spalten direkt ansprechen.

    Hierfür habe ich in der list_default.html5 den Code von

    PHP-Code:
    <?= $col['content'?>
    auf

    PHP-Code:
    <?= $col['lastname'?>
    geändert.

    Leider wird mir jedoch jetzt nix mehr ausgegeben!

    Wie mache ich das richtig???

    LG
    Jörg

  2. #2
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Schau dir die ankommenden Variablen mit
    PHP-Code:
    <?php $this->showTemplateVars() ?>
    an, und vergiss auch nicht die gewünschten Felder im Listing-Modul einzutragen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  3. #3
    Contao-Nutzer
    Registriert seit
    10.08.2014.
    Beiträge
    68

    Standard

    Wunderbar, das ist schon mal sehr informativ.

    Ich bin mir aber absolut nicht sicher, wie ich den Code nun aufbauen muss, dass er mir von "lastname" den [content] ausgibt??!

    Wie müsste dieser denn aussehen?
    Angehängte Grafiken Angehängte Grafiken

  4. #4
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wenn du das Feld lastname im Listingmodule angegeben hast, was ja wohl bereits erfolgt ist, wie ich aus dem Screenshot sehe, dann müsste das list_default-Template das bereits ausgeben über $col['content'].

    Was du da siehst ist ein sogenanntes PHP-Array. Mit einer foreach-Schleife wird über jede Variable in diesem Array geloopt und kann somit ausgegeben werden. Ist eine Variable ebenfalls ein Array, kann man über dieses Array ebenfalls wieder einen foreach laufen lassen - also verschachtelte foreach-Schleifen.
    http://de1.php.net/manual/de/control...es.foreach.php
    http://tut.php-quake.net/de/array.html

    Normales PHP
    PHP-Code:
    <?php

    foreach(array('Einstein''Hawking''Reid') as $genius)
    {
      echo 
    '<p>'.$genius.'</p>';
    }

    ?>
    Schreibweise die in Templates oft benutzt wird, weil viel HTML ausgegeben wird
    PHP-Code:
    <?php foreach(array('Einstein''Hawking''Reid') as $genius): ?>

    <p><?php echo $genius ?></p>
    <!-- andere neue kurze Schreibweise -->
    <p><?= $genius ?></p>

    <?php endforeach ?>
    Wenn du hier ein Array zeigst, dann zeige es am besten nicht als Screenshot (obwohl der richtig gut aussah), sondern als schön eingerückten Code und benutze den Code- oder PHP-Wrapper dieses Editors hier.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  5. #5
    Contao-Nutzer
    Registriert seit
    10.08.2014.
    Beiträge
    68

    Standard

    Hm...

    PHP-Code:
        <?php foreach ($this->tbody as $class=>$row): ?>
          <tr class="<?= $class ?>">
            <?php foreach ($row as $col): ?>
              <td class="body <?= $col['class'?>"><?= $col['content'?></td>
    Wenn ich das jetzt richtig verstehe, wird hier zuerst alles aus dem Array tbody als Zeile definiert, danach werden alle Inhalte einer Reihe in einen Array $col definiert und anschließend werden aus diesem Array die Inhalte von [content] abgerufen.

    Mir ist jedoch nicht klar, wie ich aus dem Array von tbody nur den lastname und dessen [content] abfrage.

    Hatte es jetzt so versucht aber ohne Ergenbis.

    PHP-Code:
    <?= $row['lastname']->content ?>
    Wo ist mein Denkfehler???

  6. #6
    Contao-Nutzer
    Registriert seit
    10.08.2014.
    Beiträge
    68

    Standard

    Ich glaub ich hab es jetzt!

    Die Schreibweise muss richtigerweise so lauten:
    PHP-Code:
    <?= $row['lastname']['id'?>
    Richtig???

  7. #7
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Nein, die Schreibweise muss so lauten, wie im original Template bereits vorgegeben.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  8. #8
    Contao-Nutzer
    Registriert seit
    10.08.2014.
    Beiträge
    68

    Standard

    Warum kann ich "meine" Schreibweise nicht verwenden?? Sie funktioniert ja.

  9. #9
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du wolltest ursprünglich lastname ausgeben und zwar in den Spalten und ich gehe davon aus, dass du das nur in der Spalte für lastname ausgeben möchest. Jetzt möchtest du die ID ausgeben.

    Wenn du ID in jeder Spalte ausgeben möchtest, dann kannst du $col['id'] benutzen.

    Nur wenn du ein Feld eines Datensatzes bereits in der Zeile (1. Ebene der foreach) ausgeben möchtest, must du den Wert mit $row['feldname']['eigenschaft'] ($row['lastname']['content']) holen.

    Deine Infos dazu, was du eigentlich vorhast sind viel zu dürftig.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  10. #10
    Contao-Nutzer
    Registriert seit
    10.08.2014.
    Beiträge
    68

    Standard

    Hallo Andreas,

    hab mir meine Einträge nochmal angesehen - die sind wirklich sehr karg. Sorry.
    Aber Deine Hilfestellung hat mir weitergeholfen und ich hab jetzt das gewünschte umsetzen können.

    Danke!

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •