Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: MM Relation im FE ausgeben

      
  1. #1
    Forum Zuschauer
    Registriert seit
    02.08.2010
    Ort
    Dresden
    Alter
    24
    Beiträge
    9

    MM Relation im FE ausgeben

    Hallo,

    ich habe eine MM-Relation erstellt. Leider wird immer nur der 1. zugehörige Wert im Frontend ausgegeben. Ich möchte aber alle Werte ausgeben. Kann mir jemand vielleicht helfen?

    Vielen Dank im voraus.

    Tobi

  2. #2
    Forum Newbie Avatar von MrLight
    Registriert seit
    14.10.2008
    Alter
    44
    Beiträge
    25
    Wie liest Du die DB Einträge aus? Benutzt Du eine While schleife? irgendwie sowas:
    PHP-Code:
    $requestDataRes $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query($select,$local_table,$mm_table,$foreign_table,$whereClause,$groupBy,$orderBy,$limit);

    if (
    $requestDataRes) {
        while (
    $temp    $GLOBALS['TYPO3_DB']->sql_fetch_assoc($requestDataRes)) {
            if (
    $temp['uid']) {
                
    $requestedData[$temp['uid']] = $temp;
            } else {
                
    $requestedData[] = $temp;
            }
        }

    ... oder wie machst Du das? Wie ist deine $whereClause? Hast Du diese mal in phpMyAdmin ausprobiert?

    L.G.

    Mr Light

  3. #3
    Forum Zuschauer
    Registriert seit
    02.08.2010
    Ort
    Dresden
    Alter
    24
    Beiträge
    9
    Hallo,

    danke für die schnelle Antwort.

    Ja genau so habe ich es gemacht.


    Code:
    $res = $GLOBALS['TYPO3_DB']->sql_query(SELECT * FROM $local_table,$mm_table,$foreign_table WHERE $local_table.uid = $mm_table.uid_local AND
    $foreign_table.uid = $mmtable.foreign)
    
    if ($res) {
    
      $liste = '';
    
          while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
    
              $markerArray = $row['aktivitie']; #Spaltenname der MM-Tabelle
    
    ...
    
    }
    
    }
    Jetzt gibt er mir die gewünschten Inhalte aus der $local_table mit jeweils einem Wert aus der MM-Beziehung in einer Liste aus. Ich möchte aber den $local_table Inhalt nur einmal mit den gesamten Werten aus der MM-Beziehung.

  4. #4
    Forum Newbie Avatar von MrLight
    Registriert seit
    14.10.2008
    Alter
    44
    Beiträge
    25
    versuch doch mal:
    PHP-Code:
    $markerArray $row['aktivitie']; #Spaltenname der MM-Tabelle 
    durch
    PHP-Code:
    if ($row['uid']) {
    $markerArray[$row['uid']] = $row['aktivitie']; #Spaltenname der MM-Tabelle
    } else {
    $markerArray[] = $row['aktivitie']; #Spaltenname der MM-Tabelle

    zu ersetzen.
    Du überschreibst ja andauernd dein letztes Ergebniss.

    Schau Dir mal noch mal mein Beispiel an ..

  5. #5
    Forum Newbie Avatar von MrLight
    Registriert seit
    14.10.2008
    Alter
    44
    Beiträge
    25
    und kurze Frage zwischen durch,

    warum benutzt Du nicht: exec_SELECT_mm_query

    PHP-Code:
    $requestDataRes $GLOBALS['TYPO3_DB']->exec_SELECT_mm_query(
             
    $select,
             
    $local_table,
             
    $mm_table,
             
    $foreign_table,
             
    $whereClause,
             
    $groupBy,
             
    $orderBy,
             
    $limit
     
    ); 

    anstat sql_query

  6. #6
    Forum Zuschauer
    Registriert seit
    02.08.2010
    Ort
    Dresden
    Alter
    24
    Beiträge
    9
    Weil ich noch eine zweite MM-Tabellen-Beziehung habe.

  7. #7
    Forum Newbie Avatar von MrLight
    Registriert seit
    14.10.2008
    Alter
    44
    Beiträge
    25
    Hast Du aber die "[]" Eckigen Klammern gesehen?

    $markerArray[] = $row['aktivitie'];

    Die sind ausschlaggebend....

  8. #8
    Forum Zuschauer
    Registriert seit
    02.08.2010
    Ort
    Dresden
    Alter
    24
    Beiträge
    9
    Danke für die Hilfe. Ich komme einfach nicht drauf.

    Die Variable $markerArray ist ja für die FE-Ausgabe.

    PHP-Code:

    if($res) {
      while (
    $row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
         
    $act $row['activitie'];
         
    $markerArray['###ANGEBOTE###'] = $act;

     }



    Wenn ich so formuliere kommt nur ein Wert raus. -> ist mir klar.
    Also muss ich die beiden Zeilen in der Schleife durch deinen Code ersetzen.

    Also sollte ich die Angaben die in $row['activitie'] zu der uid aus der $local_table übereinstimmen in ein Array schreiben.


    PHP-Code:
    if ($row['uid']) { 
    $res[$row['uid']] = $row['activitie']; #Spaltenname der MM-Tabelle (Text)
    } else {
    $res[] = $row['activitie']; #Spaltenname der MM-Tabelle

    Natürlich passiert da nix, aber ich weiß gerade wirklich nicht weiter.
    Geändert von tobimenz (20.08.2011 um 12:14 Uhr) Grund: Ergänzung

  9. #9
    Forum Newbie Avatar von MrLight
    Registriert seit
    14.10.2008
    Alter
    44
    Beiträge
    25
    Mann... (sorry) ;-)

    wieso sollte sich da nichts ändern?

    in der Zeile:
    PHP-Code:
    $act $row['activitie']; 
    überschreibst Du jedes mal dein Ergebniss, und so hast Du am Ende nur das letzte Element der while Schleife...
    mach das mal so:
    PHP-Code:
    if($res) { 
      while (
    $row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) { 
         
    $act[] = $row['activitie']; 
     } 
         
    $markerArray['###ANGEBOTE###'] = $act
    durch die [] Klammern bei der Variable $act wird dagegen jedes mal nur ein neues array-Element hinzugefügt.

    LG
    Mr Light :-)

  10. #10
    Forum Newbie Avatar von MrLight
    Registriert seit
    14.10.2008
    Alter
    44
    Beiträge
    25
    vieleicht würde am Ende noch ein Implode helfen, wenn Du das Ergebniss als String brauchst:

    anstelle:
    PHP-Code:
    $markerArray['###ANGEBOTE###'] = $act
    dann:
    PHP-Code:
    $markerArray['###ANGEBOTE###'] = implode(",",$act); 
    L.G.

    Mr Light :-)

 

 
Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

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

Facebook Kommentare

Ähnliche Themen

  1. MM Tabelle mit Relationen zu unterschiedlichen Tabellen
    Von drauscher im Forum Extension modifizieren oder neu erstellen
    Antworten: 3
    Letzter Beitrag: 25.05.2011, 16:53
  2. MM-Tabellen mit Extbase ausgeben
    Von pardila im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 3
    Letzter Beitrag: 24.05.2011, 15:15
  3. TCA SELECT - selecten MM
    Von Andorian im Forum Extension modifizieren oder neu erstellen
    Antworten: 2
    Letzter Beitrag: 05.09.2010, 19:18
  4. Antworten: 0
    Letzter Beitrag: 26.06.2009, 16:01
  5. Zeilenumbruch in text area im FE ausgeben oder per PHP erkennen
    Von µaTh im Forum Alle anderen Extensions
    Antworten: 2
    Letzter Beitrag: 19.02.2007, 17:40

Stichworte

Berechtigungen

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238