Ergebnis 1 bis 12 von 12

Thema: [gelöst] Natürliche Sortierung

  1. #1
    Contao-Nutzer Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Standard [gelöst] Natürliche Sortierung

    Hallo,

    ich habe in einer Mitarbeiterdatenbank eine Filterung der MAs über einen Tagfilter (Einfacher Filter, auto_item -> Abteilungen (Tags)) realisiert.
    Diese Tags sind in einem eigenen Metamodel vorgehalten.


    Die Mitarbeiter einer Abteilung besitzen nun noch IDs z.B. A12, A111, A23 usw., nach denen sortiert werden soll.

    Sortierung IST:

    A12
    A111
    A23
    ...


    Sortierung SOLL:

    A12
    A23
    A111
    ...


    Da die MMs mehrsprachig sind, schaffe ich es leider nicht, hier eine Ausgabe mit Eigenem-SQL hin zu bekommen. Wie löse ich das am Besten?

    @Zonky: Ich werde mich sicher für Deine bisherige Hilfe & MM erkenntlich zeigen, gehört sich so.
    Geändert von pcartist (03.05.2017 um 16:39 Uhr)

  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

    Ich hatte auch mal Probleme mit natürlicher Sortierung. Gibt auch ein Ticket dazu bei MM. Letztendlich habe ich die Sortierung im FE mit PHP durchgeführt, weil MySQL keine natürliche Sortierung unterstützt.

    Ob diese Werte, weil direkt ein A davor steht, mit natürlicher Sortierung richtig sortiert werden, weiß ich allerdings nicht. Wie sortiert sie dein Betriebssystem denn? Macht die natürliche Sortierung von PHP das richtig?
    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 Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Standard

    Hallo Andreas,

    vielen Dank! Ich hatte es bereits mit der Funktion von https://www.karlvalentin.de/660/mehr...sortieren.html versucht. Leider ohne Erfolg. Der Sortierwert liegt in $arrItem['raw']['itID'] und scheinbar steigt die Funktion nicht weit genug ab. Mit dem Buchstaben sollte es eigentlich kein Problem geben, da im Beispiel der PHP-Doku zu natsort() Dateinamen sortiert werden. Leider bin ich in PHP nicht so tief drin...

  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

    Auch mit einigen anderen Sortierfunktionen kann man "natürlich" sortieren. Mit dem Flag SORT_NATURAL http://php.net/manual/de/function.sort.php

    Ja, bei array_multisort() (falls du das überhaupt benötigst) muss ich mich auch jedesmal wieder einlesen, wenn ich das nicht täglich benutze. Geht aber gut. Wenn es nicht sein muss, verzichte ich aber darauf.

    Es gibt auch noch die Iteratoren, mit denen man auch sortieren kann, Beispiel: http://php.net/manual/de/arrayiterator.natcasesort.php. Aber wenn du Iteratoren noch nicht kennst, muss man da auch erstmal einiges ausprobieren, bis man das hinbekommt.

    Edit: Fast vergessen. Bei mir funktionierte die natürliche Sortierung mit MySQL damals nicht, weil die Werte dafür nicht passten. Je nachdem, welche Werte du hast, git es da aber Workarounds für, die bei dir funktionieren könnten. Suche mal nach MySQL nat sort o.ä.
    Geändert von Andreas (03.05.2017 um 12:20 Uhr)
    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-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 mal hier http://globolog.net/angebote-finden.html links im Filter bei "Zielgruppen". Da ging es um
    Code:
    Klasse 1 - 2
    Klasse 3 - 4
    Klasse 5 - 10
    Klasse 11 - 13
    Das habe ich auch mit MM gemacht.
    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

  6. #6
    Contao-Nutzer Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Standard

    An eine Musterfunktion zu PHP sort() noch eine Eben dazu gestrickt und mit die Case-Anweisung noch um natcasesort() ergänzt. Das funktioniert im Moment ganz gut. Wenn es jemand schöner / schneller / eleganter hat: immer her damt

    PHP-Code:

    function array_sort($array$on$order=SORT_ASC)
    {
        
    $new_array = array();
        
    $sortable_array = array();

        if (
    count($array) > 0) {

            foreach (
    $array as $k => $v) {
                if (
    is_array($v)) {
                    foreach (
    $v as $k2 => $v2) {
                        if (
    $k2 == $on) {
                            
    $sortable_array[$k] = $v2;
                        } elseif (
    is_array($v2)) {
                            foreach (
    $v2 as $k3 => $v3) {
                                if(
    $k3 == $on) {
                                    
    $sortable_array[$k] = $v3;
                                }
                            }
                        }
                    }
                } else {
                    
    $sortable_array[$k] = $v;
                }
            }

            switch (
    $order) {
                case 
    SORT_ASC:
                    
    asort($sortable_array);
                    break;
                case 
    SORT_DESC:
                    
    arsort($sortable_array);
                    break;
                case 
    SORT_NATURAL:
                    
    natcasesort($sortable_array);
                    break;
            }

            foreach (
    $sortable_array as $k => $v) {
                
    $new_array[$k] = $array[$k];
            }
        }

        return 
    $new_array;


  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

    Da müsstest du mal das Array zeigen.
    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 Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Standard

    Array unsortiert:
    PHP-Code:
       Array
    (
        [
    0] => Array
            (
                [
    raw] => Array
                    (
                        [
    id] => 381
                        
    [pid] => 0
                        
    [sorting] => 0
                        
    [tstamp] => 1493827889
                        
    [salutation] => Array
                            (
                                [
    __SELECT_RAW__] => Array
                                    (
                                        [
    id] => 2
                                        
    [pid] => 0
                                        
    [sorting] => 0
                                        
    [tstamp] => 1492071761
                                        
    [name] => Array
                                            (
                                                [
    id] => 59
                                                
    [tstamp] => 1492071761
                                                
    [att_id] => 17
                                                
    [item_id] => 2
                                                
    [langcode] => de
                                                
    [value] => Frau
                                            
    )

                                        [
    alias] => Array
                                            (
                                                [
    id] => 60
                                                
    [tstamp] => 1492071761
                                                
    [att_id] => 18
                                                
    [item_id] => 2
                                                
    [langcode] => de
                                                
    [value] => frau
                                            
    )

                                    )

                                [
    name] => Frau
                                
    [alias] => frau
                            
    )

                        [
    name] => Paukenschlag
                        
    [firstname] => Isolde
                        
    [middlename] => 
                        [
    itID] => a122
                        
    [email] => isolde@mageslaut.de
                        
    [hideImage] => 
                        [
    phone1] => 
                        [
    phone2] => 
                        [
    phone3] => 
                        [
    image] => Array
                            (
                                [
    bin] => Array
                                    (
                                    )

                                [
    value] => Array
                                    (
                                    )

                                [
    path] => Array
                                    (
                                    )

                            )

                        [
    departments] => Array
                            (
                                [
    79] => Array
                                    (
                                        [
    __TAGS_RAW__] => Array
                                            (
                                                [
    id] => 79
                                                
    [pid] => 81
                                                
    [sorting] => 128
                                                
    [tstamp] => 1493717425
                                                
    [name] => Array
                                                    (
                                                        [
    id] => 2936
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 1
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => Auszubildende1.tes Lehrjahr
                                                    
    )

                                                [
    alias] => Array
                                                    (
                                                        [
    id] => 2937
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 2
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => auszubildende-1-tes-lehrjahr
                                                    
    )

                                                [
    text] => Array
                                                    (
                                                        [
    id] => 79
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 5
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => 
                                                    )

                                            )

                                        [
    tag_value_sorting] => 0
                                        
    [name] => Auszubildende1.tes Lehrjahr
                                        
    [alias] => auszubildende-1-tes-lehrjahr
                                        
    [text] => 
                                    )

                            )

                        [
    search] => 
                        [
    title] => Array
                            (
                                [
    id] => 3230
                                
    [tstamp] => 1493827889
                                
    [att_id] => 19
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    position1] => Array
                            (
                                [
    id] => 3231
                                
    [tstamp] => 1493827889
                                
    [att_id] => 31
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Bürovorsteherin
                            
    )

                        [
    position2] => Array
                            (
                                [
    id] => 3232
                                
    [tstamp] => 1493827889
                                
    [att_id] => 32
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job1] => Array
                            (
                                [
    id] => 3233
                                
    [tstamp] => 1493827889
                                
    [att_id] => 34
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Telefonzentrale
                            
    )

                        [
    job2] => Array
                            (
                                [
    id] => 3234
                                
    [tstamp] => 1493827889
                                
    [att_id] => 35
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Azubis einteilen
                            
    )

                        [
    job3] => Array
                            (
                                [
    id] => 3235
                                
    [tstamp] => 1493827889
                                
    [att_id] => 36
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Catering organisieren
                            
    )

                        [
    job4] => Array
                            (
                                [
    id] => 3236
                                
    [tstamp] => 1493827889
                                
    [att_id] => 37
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job5] => Array
                            (
                                [
    id] => 3237
                                
    [tstamp] => 1493827889
                                
    [att_id] => 38
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                    )

                [
    text] => Array
                    (
                        [
    salutation] => Frau
                        
    [firstname] => Isolde
                        
    [name] => Paukenschlag
                        
    [itID] => a122
                        
    [position1] => Bürovorsteherin
                        
    [email] => isolde@mageslaut.de
                        
    [job1] => Telefonzentrale
                        
    [job2] => Azubis einteilen
                        
    [job3] => Catering organisieren
                    
    )

                [
    attributes] => Array
                    (
                        [
    image] => Bild
                        
    [salutation] => Anrede
                        
    [title] => Titel
                        
    [firstname] => Vorname
                        
    [middlename] => 2. Vorname
                        
    [name] => Name
                        
    [itID] => EDV Kennung
                        
    [position1] => Position
                        
    [position2] => Position 2
                        
    [phone1] => Telefonnummer
                        
    [phone2] => Mobilfunknummer
                        
    [phone3] => Telefonnummer 2
                        
    [email] => Email
                        
    [job1] => Aufgaben 1
                        
    [job2] => Aufgaben 2
                        
    [job3] => Aufgaben 3
                        
    [job4] => Aufgaben 4
                        
    [job5] => Aufgaben 5
                        
    [hideImage] => Bild NICHT anzeigen
                    
    )

                [
    html5] => Array
                    (
                        [
    salutation] => Frau
                        
    [firstname] => <span class="text">Isolde</span>
                        [
    name] => <span class="text">Paukenschlag</span>
                        [
    itID] => <span class="text">a122</span>
                        [
    position1] => <span class="text">Bürovorsteherin</span>

                        [
    email] => <span class="text">isolde@mageslaut.de</span>
                        [
    job1] => <span class="text">Telefonzentrale</span>

                        [
    job2] => <span class="text">Azubis einteilen</span>

                        [
    job3] => <span class="text">Catering organisieren</span>

                    )

                [class] => 
    first even
                
    [jumpTo] => Array
                    (
                    )

            )

        [
    1] => Array
            (
                [
    raw] => Array
                    (
                        [
    id] => 380
                        
    [pid] => 0
                        
    [sorting] => 0
                        
    [tstamp] => 1493827903
                        
    [salutation] => Array
                            (
                                [
    __SELECT_RAW__] => Array
                                    (
                                        [
    id] => 1
                                        
    [pid] => 0
                                        
    [sorting] => 0
                                        
    [tstamp] => 1492071753
                                        
    [name] => Array
                                            (
                                                [
    id] => 57
                                                
    [tstamp] => 1492071753
                                                
    [att_id] => 17
                                                
    [item_id] => 1
                                                
    [langcode] => de
                                                
    [value] => Herr
                                            
    )

                                        [
    alias] => Array
                                            (
                                                [
    id] => 58
                                                
    [tstamp] => 1492071753
                                                
    [att_id] => 18
                                                
    [item_id] => 1
                                                
    [langcode] => de
                                                
    [value] => herr
                                            
    )

                                    )

                                [
    name] => Herr
                                
    [alias] => herr
                            
    )

                        [
    name] => Muster
                        
    [firstname] => Max
                        
    [middlename] => Imilian
                        
    [itID] => a123
                        
    [email] => max.muster@web.de
                        
    [hideImage] => 
                        [
    phone1] => +4912312345
                        
    [phone2] => 
                        [
    phone3] => 
                        [
    image] => Array
                            (
                                [
    bin] => Array
                                    (
                                    )

                                [
    value] => Array
                                    (
                                    )

                                [
    path] => Array
                                    (
                                    )

                            )

                        [
    departments] => Array
                            (
                                [
    79] => Array
                                    (
                                        [
    __TAGS_RAW__] => Array
                                            (
                                                [
    id] => 79
                                                
    [pid] => 81
                                                
    [sorting] => 128
                                                
    [tstamp] => 1493717425
                                                
    [name] => Array
                                                    (
                                                        [
    id] => 2936
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 1
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => Auszubildende1.tes Lehrjahr
                                                    
    )

                                                [
    alias] => Array
                                                    (
                                                        [
    id] => 2937
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 2
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => auszubildende-1-tes-lehrjahr
                                                    
    )

                                                [
    text] => Array
                                                    (
                                                        [
    id] => 79
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 5
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => 
                                                    )

                                            )

                                        [
    tag_value_sorting] => 0
                                        
    [name] => Auszubildende1.tes Lehrjahr
                                        
    [alias] => auszubildende-1-tes-lehrjahr
                                        
    [text] => 
                                    )

                            )

                        [
    search] => 
                        [
    title] => Array
                            (
                                [
    id] => 3222
                                
    [tstamp] => 1493827903
                                
    [att_id] => 19
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    position1] => Array
                            (
                                [
    id] => 3223
                                
    [tstamp] => 1493827903
                                
    [att_id] => 31
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Abtreilungsleiter
                            
    )

                        [
    position2] => Array
                            (
                                [
    id] => 3224
                                
    [tstamp] => 1493827903
                                
    [att_id] => 32
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job1] => Array
                            (
                                [
    id] => 3225
                                
    [tstamp] => 1493827903
                                
    [att_id] => 34
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Dosenmilch überwachen
                            
    )

                        [
    job2] => Array
                            (
                                [
    id] => 3226
                                
    [tstamp] => 1493827903
                                
    [att_id] => 35
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Papier bestellen
                            
    )

                        [
    job3] => Array
                            (
                                [
    id] => 3227
                                
    [tstamp] => 1493827903
                                
    [att_id] => 36
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Kunden betreuen
                            
    )

                        [
    job4] => Array
                            (
                                [
    id] => 3228
                                
    [tstamp] => 1493827903
                                
    [att_id] => 37
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job5] => Array
                            (
                                [
    id] => 3229
                                
    [tstamp] => 1493827903
                                
    [att_id] => 38
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                    )

                [
    text] => Array
                    (
                        [
    salutation] => Herr
                        
    [firstname] => Max
                        
    [middlename] => Imilian
                        
    [name] => Muster
                        
    [itID] => a123
                        
    [position1] => Abtreilungsleiter
                        
    [phone1] => +4912312345
                        
    [email] => max.muster@web.de
                        
    [job1] => Dosenmilch überwachen
                        
    [job2] => Papier bestellen
                        
    [job3] => Kunden betreuen
                    
    )

                [
    attributes] => Array
                    (
                        [
    image] => Bild
                        
    [salutation] => Anrede
                        
    [title] => Titel
                        
    [firstname] => Vorname
                        
    [middlename] => 2. Vorname
                        
    [name] => Name
                        
    [itID] => EDV Kennung
                        
    [position1] => Position
                        
    [position2] => Position 2
                        
    [phone1] => Telefonnummer
                        
    [phone2] => Mobilfunknummer
                        
    [phone3] => Telefonnummer 2
                        
    [email] => Email
                        
    [job1] => Aufgaben 1
                        
    [job2] => Aufgaben 2
                        
    [job3] => Aufgaben 3
                        
    [job4] => Aufgaben 4
                        
    [job5] => Aufgaben 5
                        
    [hideImage] => Bild NICHT anzeigen
                    
    )

                [
    html5] => Array
                    (
                        [
    salutation] => Herr
                        
    [firstname] => <span class="text">Max</span>
                        [
    middlename] => <span class="text">Imilian</span>
                        [
    name] => <span class="text">Muster</span>
                        [
    itID] => <span class="text">a123</span>
                        [
    position1] => <span class="text">Abtreilungsleiter</span>

                        [
    phone1] => <span class="text">+4912312345</span>
                        [
    email] => <span class="text">max.muster@web.de</span>
                        [
    job1] => <span class="text">Dosenmilch überwachen</span>

                        [
    job2] => <span class="text">Papier bestellen</span>

                        [
    job3] => <span class="text">Kunden betreuen</span>

                    )

                [class] => 
    last odd
                
    [jumpTo] => Array
                    (
                    )

            )


    Array sortiert nach [x]['raw']['itID']:
    PHP-Code:
       Array
    (
        [
    0] => Array
            (
                [
    raw] => Array
                    (
                        [
    id] => 382
                        
    [pid] => 0
                        
    [sorting] => 0
                        
    [tstamp] => 1493828192
                        
    [salutation] => Array
                            (
                                [
    __SELECT_RAW__] => Array
                                    (
                                        [
    id] => 1
                                        
    [pid] => 0
                                        
    [sorting] => 0
                                        
    [tstamp] => 1492071753
                                        
    [name] => Array
                                            (
                                                [
    id] => 57
                                                
    [tstamp] => 1492071753
                                                
    [att_id] => 17
                                                
    [item_id] => 1
                                                
    [langcode] => de
                                                
    [value] => Herr
                                            
    )

                                        [
    alias] => Array
                                            (
                                                [
    id] => 58
                                                
    [tstamp] => 1492071753
                                                
    [att_id] => 18
                                                
    [item_id] => 1
                                                
    [langcode] => de
                                                
    [value] => herr
                                            
    )

                                    )

                                [
    name] => Herr
                                
    [alias] => herr
                            
    )

                        [
    name] => Exemplar
                        
    [firstname] => Das
                        
    [middlename] => Unverzichtbare
                        
    [itID] => a12
                        
    [email] => das@exemplar.de
                        
    [hideImage] => 
                        [
    phone1] => 
                        [
    phone2] => 
                        [
    phone3] => 
                        [
    image] => Array
                            (
                                [
    bin] => Array
                                    (
                                    )

                                [
    value] => Array
                                    (
                                    )

                                [
    path] => Array
                                    (
                                    )

                            )

                        [
    departments] => Array
                            (
                                [
    79] => Array
                                    (
                                        [
    __TAGS_RAW__] => Array
                                            (
                                                [
    id] => 79
                                                
    [pid] => 81
                                                
    [sorting] => 128
                                                
    [tstamp] => 1493717425
                                                
    [name] => Array
                                                    (
                                                        [
    id] => 2936
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 1
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => Auszubildende1.tes Lehrjahr
                                                    
    )

                                                [
    alias] => Array
                                                    (
                                                        [
    id] => 2937
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 2
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => auszubildende-1-tes-lehrjahr
                                                    
    )

                                                [
    text] => Array
                                                    (
                                                        [
    id] => 79
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 5
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => 
                                                    )

                                            )

                                        [
    tag_value_sorting] => 0
                                        
    [name] => Auszubildende1.tes Lehrjahr
                                        
    [alias] => auszubildende-1-tes-lehrjahr
                                        
    [text] => 
                                    )

                            )

                        [
    search] => 
                        [
    title] => Array
                            (
                                [
    id] => 3238
                                
    [tstamp] => 1493828192
                                
    [att_id] => 19
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    position1] => Array
                            (
                                [
    id] => 3239
                                
    [tstamp] => 1493828192
                                
    [att_id] => 31
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    position2] => Array
                            (
                                [
    id] => 3240
                                
    [tstamp] => 1493828192
                                
    [att_id] => 32
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job1] => Array
                            (
                                [
    id] => 3241
                                
    [tstamp] => 1493828192
                                
    [att_id] => 34
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job2] => Array
                            (
                                [
    id] => 3242
                                
    [tstamp] => 1493828192
                                
    [att_id] => 35
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job3] => Array
                            (
                                [
    id] => 3243
                                
    [tstamp] => 1493828192
                                
    [att_id] => 36
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job4] => Array
                            (
                                [
    id] => 3244
                                
    [tstamp] => 1493828192
                                
    [att_id] => 37
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job5] => Array
                            (
                                [
    id] => 3245
                                
    [tstamp] => 1493828192
                                
    [att_id] => 38
                                
    [item_id] => 382
                                
    [langcode] => de
                                
    [value] => 
                            )

                    )

                [
    text] => Array
                    (
                        [
    salutation] => Herr
                        
    [firstname] => Das
                        
    [middlename] => Unverzichtbare
                        
    [name] => Exemplar
                        
    [itID] => a12
                        
    [email] => das@exemplar.de
                    
    )

                [
    attributes] => Array
                    (
                        [
    image] => Bild
                        
    [salutation] => Anrede
                        
    [title] => Titel
                        
    [firstname] => Vorname
                        
    [middlename] => 2. Vorname
                        
    [name] => Name
                        
    [itID] => EDV Kennung
                        
    [position1] => Position
                        
    [position2] => Position 2
                        
    [phone1] => Telefonnummer
                        
    [phone2] => Mobilfunknummer
                        
    [phone3] => Telefonnummer 2
                        
    [email] => Email
                        
    [job1] => Aufgaben 1
                        
    [job2] => Aufgaben 2
                        
    [job3] => Aufgaben 3
                        
    [job4] => Aufgaben 4
                        
    [job5] => Aufgaben 5
                        
    [hideImage] => Bild NICHT anzeigen
                    
    )

                [
    html5] => Array
                    (
                        [
    salutation] => Herr
                        
    [firstname] => <span class="text">Das</span>
                        [
    middlename] => <span class="text">Unverzichtbare</span>
                        [
    name] => <span class="text">Exemplar</span>
                        [
    itID] => <span class="text">a12</span>
                        [
    email] => <span class="text">das@exemplar.de</span>
                    )

                [class] => 
    first even
                
    [jumpTo] => Array
                    (
                    )

            )

        [
    2] => Array
            (
                [
    raw] => Array
                    (
                        [
    id] => 380
                        
    [pid] => 0
                        
    [sorting] => 0
                        
    [tstamp] => 1493828231
                        
    [salutation] => Array
                            (
                                [
    __SELECT_RAW__] => Array
                                    (
                                        [
    id] => 1
                                        
    [pid] => 0
                                        
    [sorting] => 0
                                        
    [tstamp] => 1492071753
                                        
    [name] => Array
                                            (
                                                [
    id] => 57
                                                
    [tstamp] => 1492071753
                                                
    [att_id] => 17
                                                
    [item_id] => 1
                                                
    [langcode] => de
                                                
    [value] => Herr
                                            
    )

                                        [
    alias] => Array
                                            (
                                                [
    id] => 58
                                                
    [tstamp] => 1492071753
                                                
    [att_id] => 18
                                                
    [item_id] => 1
                                                
    [langcode] => de
                                                
    [value] => herr
                                            
    )

                                    )

                                [
    name] => Herr
                                
    [alias] => herr
                            
    )

                        [
    name] => Muster
                        
    [firstname] => Max
                        
    [middlename] => Imilian
                        
    [itID] => a13
                        
    [email] => max.muster@web.de
                        
    [hideImage] => 
                        [
    phone1] => +4912312345
                        
    [phone2] => 
                        [
    phone3] => 
                        [
    image] => Array
                            (
                                [
    bin] => Array
                                    (
                                    )

                                [
    value] => Array
                                    (
                                    )

                                [
    path] => Array
                                    (
                                    )

                            )

                        [
    departments] => Array
                            (
                                [
    79] => Array
                                    (
                                        [
    __TAGS_RAW__] => Array
                                            (
                                                [
    id] => 79
                                                
    [pid] => 81
                                                
    [sorting] => 128
                                                
    [tstamp] => 1493717425
                                                
    [name] => Array
                                                    (
                                                        [
    id] => 2936
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 1
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => Auszubildende1.tes Lehrjahr
                                                    
    )

                                                [
    alias] => Array
                                                    (
                                                        [
    id] => 2937
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 2
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => auszubildende-1-tes-lehrjahr
                                                    
    )

                                                [
    text] => Array
                                                    (
                                                        [
    id] => 79
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 5
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => 
                                                    )

                                            )

                                        [
    tag_value_sorting] => 0
                                        
    [name] => Auszubildende1.tes Lehrjahr
                                        
    [alias] => auszubildende-1-tes-lehrjahr
                                        
    [text] => 
                                    )

                            )

                        [
    search] => 
                        [
    title] => Array
                            (
                                [
    id] => 3222
                                
    [tstamp] => 1493828231
                                
    [att_id] => 19
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    position1] => Array
                            (
                                [
    id] => 3223
                                
    [tstamp] => 1493828231
                                
    [att_id] => 31
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Abtreilungsleiter
                            
    )

                        [
    position2] => Array
                            (
                                [
    id] => 3224
                                
    [tstamp] => 1493828231
                                
    [att_id] => 32
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job1] => Array
                            (
                                [
    id] => 3225
                                
    [tstamp] => 1493828231
                                
    [att_id] => 34
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Dosenmilch überwachen
                            
    )

                        [
    job2] => Array
                            (
                                [
    id] => 3226
                                
    [tstamp] => 1493828231
                                
    [att_id] => 35
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Papier bestellen
                            
    )

                        [
    job3] => Array
                            (
                                [
    id] => 3227
                                
    [tstamp] => 1493828231
                                
    [att_id] => 36
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => Kunden betreuen
                            
    )

                        [
    job4] => Array
                            (
                                [
    id] => 3228
                                
    [tstamp] => 1493828231
                                
    [att_id] => 37
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job5] => Array
                            (
                                [
    id] => 3229
                                
    [tstamp] => 1493828231
                                
    [att_id] => 38
                                
    [item_id] => 380
                                
    [langcode] => de
                                
    [value] => 
                            )

                    )

                [
    text] => Array
                    (
                        [
    salutation] => Herr
                        
    [firstname] => Max
                        
    [middlename] => Imilian
                        
    [name] => Muster
                        
    [itID] => a13
                        
    [position1] => Abtreilungsleiter
                        
    [phone1] => +4912312345
                        
    [email] => max.muster@web.de
                        
    [job1] => Dosenmilch überwachen
                        
    [job2] => Papier bestellen
                        
    [job3] => Kunden betreuen
                    
    )

                [
    attributes] => Array
                    (
                        [
    image] => Bild
                        
    [salutation] => Anrede
                        
    [title] => Titel
                        
    [firstname] => Vorname
                        
    [middlename] => 2. Vorname
                        
    [name] => Name
                        
    [itID] => EDV Kennung
                        
    [position1] => Position
                        
    [position2] => Position 2
                        
    [phone1] => Telefonnummer
                        
    [phone2] => Mobilfunknummer
                        
    [phone3] => Telefonnummer 2
                        
    [email] => Email
                        
    [job1] => Aufgaben 1
                        
    [job2] => Aufgaben 2
                        
    [job3] => Aufgaben 3
                        
    [job4] => Aufgaben 4
                        
    [job5] => Aufgaben 5
                        
    [hideImage] => Bild NICHT anzeigen
                    
    )

                [
    html5] => Array
                    (
                        [
    salutation] => Herr
                        
    [firstname] => <span class="text">Max</span>
                        [
    middlename] => <span class="text">Imilian</span>
                        [
    name] => <span class="text">Muster</span>
                        [
    itID] => <span class="text">a13</span>
                        [
    position1] => <span class="text">Abtreilungsleiter</span>

                        [
    phone1] => <span class="text">+4912312345</span>
                        [
    email] => <span class="text">max.muster@web.de</span>
                        [
    job1] => <span class="text">Dosenmilch überwachen</span>

                        [
    job2] => <span class="text">Papier bestellen</span>

                        [
    job3] => <span class="text">Kunden betreuen</span>

                    )

                [class] => 
    last even
                
    [jumpTo] => Array
                    (
                    )

            )

        [
    1] => Array
            (
                [
    raw] => Array
                    (
                        [
    id] => 381
                        
    [pid] => 0
                        
    [sorting] => 0
                        
    [tstamp] => 1493827889
                        
    [salutation] => Array
                            (
                                [
    __SELECT_RAW__] => Array
                                    (
                                        [
    id] => 2
                                        
    [pid] => 0
                                        
    [sorting] => 0
                                        
    [tstamp] => 1492071761
                                        
    [name] => Array
                                            (
                                                [
    id] => 59
                                                
    [tstamp] => 1492071761
                                                
    [att_id] => 17
                                                
    [item_id] => 2
                                                
    [langcode] => de
                                                
    [value] => Frau
                                            
    )

                                        [
    alias] => Array
                                            (
                                                [
    id] => 60
                                                
    [tstamp] => 1492071761
                                                
    [att_id] => 18
                                                
    [item_id] => 2
                                                
    [langcode] => de
                                                
    [value] => frau
                                            
    )

                                    )

                                [
    name] => Frau
                                
    [alias] => frau
                            
    )

                        [
    name] => Paukenschlag
                        
    [firstname] => Isolde
                        
    [middlename] => 
                        [
    itID] => a122
                        
    [email] => isolde@mageslaut.de
                        
    [hideImage] => 
                        [
    phone1] => 
                        [
    phone2] => 
                        [
    phone3] => 
                        [
    image] => Array
                            (
                                [
    bin] => Array
                                    (
                                    )

                                [
    value] => Array
                                    (
                                    )

                                [
    path] => Array
                                    (
                                    )

                            )

                        [
    departments] => Array
                            (
                                [
    79] => Array
                                    (
                                        [
    __TAGS_RAW__] => Array
                                            (
                                                [
    id] => 79
                                                
    [pid] => 81
                                                
    [sorting] => 128
                                                
    [tstamp] => 1493717425
                                                
    [name] => Array
                                                    (
                                                        [
    id] => 2936
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 1
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => Auszubildende1.tes Lehrjahr
                                                    
    )

                                                [
    alias] => Array
                                                    (
                                                        [
    id] => 2937
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 2
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => auszubildende-1-tes-lehrjahr
                                                    
    )

                                                [
    text] => Array
                                                    (
                                                        [
    id] => 79
                                                        
    [tstamp] => 1493717425
                                                        
    [att_id] => 5
                                                        
    [item_id] => 79
                                                        
    [langcode] => de
                                                        
    [value] => 
                                                    )

                                            )

                                        [
    tag_value_sorting] => 0
                                        
    [name] => Auszubildende1.tes Lehrjahr
                                        
    [alias] => auszubildende-1-tes-lehrjahr
                                        
    [text] => 
                                    )

                            )

                        [
    search] => 
                        [
    title] => Array
                            (
                                [
    id] => 3230
                                
    [tstamp] => 1493827889
                                
    [att_id] => 19
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    position1] => Array
                            (
                                [
    id] => 3231
                                
    [tstamp] => 1493827889
                                
    [att_id] => 31
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Bürovorsteherin
                            
    )

                        [
    position2] => Array
                            (
                                [
    id] => 3232
                                
    [tstamp] => 1493827889
                                
    [att_id] => 32
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job1] => Array
                            (
                                [
    id] => 3233
                                
    [tstamp] => 1493827889
                                
    [att_id] => 34
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Telefonzentrale
                            
    )

                        [
    job2] => Array
                            (
                                [
    id] => 3234
                                
    [tstamp] => 1493827889
                                
    [att_id] => 35
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Azubis einteilen
                            
    )

                        [
    job3] => Array
                            (
                                [
    id] => 3235
                                
    [tstamp] => 1493827889
                                
    [att_id] => 36
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => Catering organisieren
                            
    )

                        [
    job4] => Array
                            (
                                [
    id] => 3236
                                
    [tstamp] => 1493827889
                                
    [att_id] => 37
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                        [
    job5] => Array
                            (
                                [
    id] => 3237
                                
    [tstamp] => 1493827889
                                
    [att_id] => 38
                                
    [item_id] => 381
                                
    [langcode] => de
                                
    [value] => 
                            )

                    )

                [
    text] => Array
                    (
                        [
    salutation] => Frau
                        
    [firstname] => Isolde
                        
    [name] => Paukenschlag
                        
    [itID] => a122
                        
    [position1] => Bürovorsteherin
                        
    [email] => isolde@mageslaut.de
                        
    [job1] => Telefonzentrale
                        
    [job2] => Azubis einteilen
                        
    [job3] => Catering organisieren
                    
    )

                [
    attributes] => Array
                    (
                        [
    image] => Bild
                        
    [salutation] => Anrede
                        
    [title] => Titel
                        
    [firstname] => Vorname
                        
    [middlename] => 2. Vorname
                        
    [name] => Name
                        
    [itID] => EDV Kennung
                        
    [position1] => Position
                        
    [position2] => Position 2
                        
    [phone1] => Telefonnummer
                        
    [phone2] => Mobilfunknummer
                        
    [phone3] => Telefonnummer 2
                        
    [email] => Email
                        
    [job1] => Aufgaben 1
                        
    [job2] => Aufgaben 2
                        
    [job3] => Aufgaben 3
                        
    [job4] => Aufgaben 4
                        
    [job5] => Aufgaben 5
                        
    [hideImage] => Bild NICHT anzeigen
                    
    )

                [
    html5] => Array
                    (
                        [
    salutation] => Frau
                        
    [firstname] => <span class="text">Isolde</span>
                        [
    name] => <span class="text">Paukenschlag</span>
                        [
    itID] => <span class="text">a122</span>
                        [
    position1] => <span class="text">Bürovorsteherin</span>

                        [
    email] => <span class="text">isolde@mageslaut.de</span>
                        [
    job1] => <span class="text">Telefonzentrale</span>

                        [
    job2] => <span class="text">Azubis einteilen</span>

                        [
    job3] => <span class="text">Catering organisieren</span>

                    )

                [class] => 
    odd
                
    [jumpTo] => Array
                    (
                    )

            )



  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

    Sowas hier hätte mir auch gereicht.
    PHP-Code:
    $unsorted = array
    (
      
    '0' => array
      (
        
    'raw' => array
        (
          
    'itID' => 'a12'
        
    )
      ),
      
    '1' => array
      (
        
    'raw' => array
        (
          
    'itID' => 'a111'
        
    )
      ),
      
    '2' => array
      (
        
    'raw' => array
        (
          
    'itID' => 'a23'
        
    )
      )
    ); 
    Und dann die Sortierung.
    PHP-Code:
    foreach($unsorted as $value)
    {
      
    $itID[] = $value['raw']['itID'];
    }
    #dump($itID);

    array_multisort($itIDSORT_NATURAL$unsorted);
    #dump($unsorted); 
    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 Avatar von pcartist
    Registriert seit
    28.06.2009.
    Ort
    Rosenheim
    Beiträge
    173

    Standard

    Danke, Andreas! Klappt prima.

  11. #11
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.714
    User beschenken
    Wunschliste

    Standard

    ansonsten kann man auch die Ausgabe schon etwas vorbereiten...
    http://metamodels.readthedocs.io/de/...-attribut-fest

  12. #12
    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

    Ja, und dort könnte man dann auch versuchen direkt den MySQL natural sort workaround einzubauen. Ich denke mit deinen Variablen würde das gehen. Mit meinen ging das nicht. Kannst du ja mal nach googeln und erstmal in phpMyAdmin ausprobieren. Wenn das funktioniert, könnte man das noch in die Doku mit aufnehmen.
    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

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
  •