Inhalt eines Datenbankfeldes für eine andere Datenbankabfrage hernehmen

  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    02. 02. 2013, 17:25

    Hallo,

    diese Frage hängt zusammen mit dem vorigen, mittlerweile gelösten Problem: [url=]http://www.typo3.net/forum/beitraege/sonstiges-2/113728/[/url]
    Ich habe es hinbekommen, einen Eintrag aus einer Datenbank zu lesen, wenn ich die UID fest angebe.
    Damit ist es aber leider noch nicht erledigt. Denn das Ziel ist, die UID ebenfalls aus einem DB-Feld auszulesen. Da das streng genommen ein anderes Problem ist mache ich hiermit einen neuen Eintrag.

    Meine nicht funktionierende Idee ist wie folgt:

    1. lib.field_teaser1 = COA
    2. lib.field_teaser1 {
    3. ## ...
    4. ## Bild
    5. 20 = CONTENT
    6. 20 {
    7. table = tx_realty_images
    8. wrap = |
    9. max = 1
    10. pidInList = 48,49
    11. selectFields = image
    12. where = uid={field:tx_chnewfields_top_id} ## An dieser Stelle soll das DB-Feld der aktuellen Seite aus der Tabelle pages gelesen werden
    13. where.insertData = 1 ## War so'ne Idee, hat aber nichts gebracht
    14. }
    15. renderObj = COA
    16. renderObj {
    17. 10 = TEXT
    18. 10{
    19. wrap = <div class="inhalt"><div class="bild"><img src="/typo3/uploads/tx_realty/|" width="100%"></div>
    20. field = image
    21. }
    22. }
    23. }
    24. ## ...
    25. }

    Und weil das ja noch zu einfach wäre: in einem weiteren Schritt (ein anderer Platz auf der Webseite) soll die verwendete UID zufällig sein.
    Natürlich muss dabei auch sichergestellt sein, dass die zufällige UID auch existiert.
    Was wäre das Leben ohne Herausforderung?

    Hoffentlich kann mir jemand helfen.

    Lieben Gruß
    Christian


  • 1
  • chrickenh chrickenh
    Jedi-Ritter
    0 x
    142 Beiträge
    0 Hilfreiche Beiträge
    05. 02. 2013, 14:57

    Hallo,

    so scheint es nicht zu funktionieren.
    Ich versuche jetzt einen anderen Weg, nämlich lege ich in den Konstanten topnummer an und speichere drin erstmal einen festen Wert (z.B. 3).

    Dann greife ich später auf diesen festen Wert zu

    1. lib.field_teaser4 = COA
    2. lib.field_teaser4 {
    3. # Überschrift
    4. 10 = TEXT
    5. 10 {
    6. data = DB : tx_realty_objects : {$topnummer} : title
    7. wrap = <div class="header">Top-Immobilie</div> <div class="inhalt"><div class="header">|</div>
    8. }
    9.  
    10.  
    11. ## Bild
    12. 20 = CONTENT
    13. 20 {
    14. table = tx_realty_images
    15. wrap = |
    16. max = 1
    17. pidInList = 48,49,95,96,97
    18. selectFields = image
    19. where = uid={$topnummer}
    20. }
    21. renderObj = COA
    22. renderObj {
    23. 10 = TEXT
    24. 10{
    25. wrap = <div class="bild"><img src="/typo3/uploads/tx_realty/|" width="100%"></div>
    26. field = image
    27. }
    28. }
    29. }
    30. ## Text
    31. 30 = TEXT
    32. 30 {
    33. data = DB : tx_realty_objects : {$topnummer} : teaser
    34. wrap = |</div>
    35. }
    36. }

    Das funktioniert auch so weit, aber auch wieder nur mit einem festen Wert.
    Gibt es eine Möglichkeit, in den Konstanten ein Datenbankfeld zu lesen und den Inhalt in der Konstanten zu speichern?

    Vielleicht kennt ja auch jemand einen Weg, den Inhalt eines Datenbankfeldes zum Auslesen eines anderen Datenbankfeldes zu verwenden. Dann bliebe mir der ganze Umgang mit "Variablen", etc. erspart.
    Um meinen Wunsch klar zu umreißen:
    Ich habe eine Tabelle namens [i]tx_realty_objects[/i]. Aus dieser Tabelle will ich verschiedene Felder (title, image, teaser, etc.) auslesen, die alle die uid haben, welche ich aus der Tabelle [i]pages[/i] aus dem Tabellenfeld [i]tx_chnewfields_top_id[/i] mit der aktuellen page-uid auslese.

    Vielleicht gibt es ja auch einen anderen Weg.
    Bin langsam am Verzweeifeln.

    LG
    Chrickenh

  • 1