Rolf B: fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC); -> Ein Array zuviel

Beitrag lesen

Hallo Manfred,

nun hab ich was gelernt - FETCH_GROUP kannte ich noch gar nicht.

Aber ich kann verstehen, warum PHP das so macht, es kann ja nicht wissen dass deine Gruppierschlüssel eindeutig sind und legt darum pro Schlüssel ein Array an.

Es gibt noch FETCH_KEY_PAIR, aber dieser Modus ist für Queries mit zwei Spalten vorgesehen, von denen einer KEY und die ander VALUE ist.

Du könntest mal probieren, PDO:FETCH_UNIQUE zu verwenden. Das kannte ich bisher auch nicht, habe es aber gerade beim Nachlesen von FETCH_GROUP gefunden. Das Handbuch ist nicht sehr ausfühlich dazu, aber hier ist ein Beispiel. Es scheint genau das zu liefern, was Du willst; du musst nur die Query so schreiben dass die ID die erste Spalte ist.

Rolf

--
sumpsi - posui - obstruxi
0 56

Array, Bezeichner - Name des Arrayfeldes von einer Zahl auf einen Namen ändern

Manfred
  • php
  1. -1
    pl
    1. 2
      Rolf B
      1. 0
        Manfred
        1. 0
          Der Martin
        2. 0
          pl
  2. 0
    Raketenwissenschaftler
  3. 0
    dedlfix
  4. 1
    Tom mobil
    1. 0
      Raketengeschichtenerzähler
      1. 0
        Tom mobil
        • zur info
        1. 0
          Raketengeschichtenerzähler
          1. 0
            pl
            1. 0
              Rolf B
  5. 0

    Array direkt ausgeben ---> Array[][0]['inhalt']

    Manfred
    1. 0
      Raketenhandbuchvorleser
    2. 0
      Der Martin
      1. 0
        Manfred
        1. 0
          Rolf B
        2. 1
          Rolf B
          1. 0

            Array direkt ausgeben ---> Array[1]['inhalt'] möchte aber id 17

            Manfred
            1. 0
              Tabellenkalk
              1. 0

                fetchAll(PDO::FETCH_GROUP|PDO::FETCH_ASSOC); -> Ein Array zuviel

                Manfred
                1. 1
                  Raketenerklärbär
                  1. 0

                    Du denkst offenbar, es müsse kompliziert sein... Muss es aber nicht: Beispiel

                    Raketensimplifizierungsbeauftragter
                2. 0
                  Rolf B
                3. 0
                  pl
            2. 0
              1unitedpower
              1. 0
                Rolf B
                1. 0
                  1unitedpower
                  1. 0
                    Der Martin
                    1. 0
                      1unitedpower
                    2. 0
                      Matthias Apsel
                    3. 1
                      MudGuard
                      • menschelei
                  2. 0
                    Rolf B
                    1. 0
                      1unitedpower
                      1. 0
                        Der Martin
                        1. 0
                          Tabellenkalk
                          • sonstiges
                          1. 0
                            Der Martin
                            1. 0
                              Auge
                              1. 0
                                MudGuard
                                1. 0
                                  Auge
                                  1. 0
                                    Tabellenkalk
                            2. 0
                              Rolf B
                              1. 0
                                Der Martin
                      2. 0
                        Tom mobil
                        • php
                        • programmiertechnik
                        • programmiertechnik
                        1. 0
                          Matthias Apsel
                          1. 0
                            Tom (unreg)
                  3. 0
                    Tom mobil
                2. 0
                  Felix Riesterer
            3. 0
              Rolf B
            4. -1
              pl
        3. 1
          Tabellenkalk
    3. 0
      Tabellenkalk
  6. 0
    Felix Riesterer
    1. 0
      Manfred