Ankündigung

Einklappen
Keine Ankündigung bisher.

Select-Filter Ausgabe sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tim
    antwortet
    Zitat von eblick Beitrag anzeigen
    Nach meinen Ermittlungen gibt es keine! Offenbar macht MySQL, was es will...

    https://www.quora.com/What-is-the-de...ement-in-MySQL
    Ja, habe einen ähnlichen Artikel gefunden. Ganz willkürlich ist es aber nicht. Also kein Random, sonst wäre es bei jedem Aufruf anders.

    Einen Kommentar schreiben:


  • eblick
    antwortet
    Nach meinen Ermittlungen gibt es keine! Offenbar macht MySQL, was es will...

    https://www.quora.com/What-is-the-de...ement-in-MySQL

    Einen Kommentar schreiben:


  • Tim
    antwortet
    Weiss jemand wie SQL seine standard-Sortierung ansetzt? SELECT * FROM table -> diese Reihenfolge quasi. Random ist es nicht und die PRIMARY Felder auch nicht. Sprich id.

    Einen Kommentar schreiben:


  • Tim
    antwortet
    So bunt ist das nicht. . Ich weiss nicht genau nach welchen Kriterien SQL eine Tabelle ohne explizite Sortierung vorsortiert. Das ist quasi die Reihenfolge.
    Ohne zusätzliche Sortierungs-Feld-Einstellungen minimiert das Risiko fehlerhafter Auswahlen. Angenommen man löscht das Feld, das als Sortierungsquelle dient oder nutzt es anderweitig. Dann kommt es entweder zum SQL Fehler (ok kann ich abfangen) oder man ist wieder irritiert, weil die "normale" Sortierung greift und muss alle Filter-Einstellungen überarbeiten.
    Ich sehe den Vorteil im Template. Ich kann ein alphabetisch sortiertes Template mitliefern.

    Einen Kommentar schreiben:


  • eblick
    antwortet
    Zitat von Tim Beitrag anzeigen

    Die Standard-Ausgabe ist die Reihenfolge der gefunden Treffer.
    Ok, also sobald ein Datensatz gefunden wird, auf den eine der Options zutrifft... das wird natürlich dann ziemlich kunterbunt.

    Zitat von Tim Beitrag anzeigen

    Mhh... reicht es nicht sich einmalig ein Template anzulegen?
    Mir "reicht" das prinzipiell schon, wenngleich ich gerne die Original-Templates präferiere und nicht bei jeder Inst. neu daran denken muss.

    Ich denke aber hauptsächlich auch für diejenigen, die mit PHP gar nix am Hut haben und den Katalog so nehmen wie er ist. Ich meine, dass eine default Einstellung nach Label vernünftig wäre in einer Options-Liste.

    Einen Kommentar schreiben:


  • Tim
    antwortet
    Zitat von eblick Beitrag anzeigen
    Muss das Thema nochmals aufgreifen, da ich immer wieder diese Anforderung erhalte.
    1. Nach welchen Kriterien werden die Options per Default sortiert? Ich konnte hier keine Logik ermitteln. Nach dem Value jedenfalls nicht und auch die ID war durcheinander...
    2. Könntet ihr dem Filter nicht eine Auswahl spendieren, um die Sortieroption im Backend auszuwählen? (also value oder label)... ist ja bei select und tag Filtern auch regelmäßig erforderlich, dies zu steuern.
    Die Standard-Ausgabe ist die Reihenfolge der gefunden Treffer.
    ---
    Mhh... reicht es nicht sich einmalig ein Template anzulegen?

    Einen Kommentar schreiben:


  • eblick
    antwortet
    Muss das Thema nochmals aufgreifen, da ich immer wieder diese Anforderung erhalte.
    1. Nach welchen Kriterien werden die Options per Default sortiert? Ich konnte hier keine Logik ermitteln. Nach dem Value jedenfalls nicht und auch die ID war durcheinander...
    2. Könntet ihr dem Filter nicht eine Auswahl spendieren, um die Sortieroption im Backend auszuwählen? (also value oder label)... ist ja bei select und tag Filtern auch regelmäßig erforderlich, dies zu steuern.

    Einen Kommentar schreiben:


  • eblick
    antwortet
    ...ist wie in jeder Beziehung... LOL

    Einen Kommentar schreiben:


  • Tim
    antwortet
    Zitat von eblick Beitrag anzeigen

    Ja, warum denn einfach, wenn es auch etwas kompliziert geht???

    Für den konkreten Fall passt das nun tatsächlich. Dennoch gut zu wissen, wenn ich einem weiteren Filter eine andere Reihenfolge einsetzen muss. THX
    Haha, ich mags auch eher kompliziert

    Einen Kommentar schreiben:


  • eblick
    antwortet
    Warum eigentlich die Mühe. Gib doch in den Tags Einstellungen als Sortierfeld "id" an. Wird dann die Ausgabe nicht direkt danach sortiert.
    Ja, warum denn einfach, wenn es auch etwas kompliziert geht???

    Für den konkreten Fall passt das nun tatsächlich. Dennoch gut zu wissen, wenn ich einem weiteren Filter eine andere Reihenfolge einsetzen muss. THX

    Einen Kommentar schreiben:


  • Tim
    antwortet
    Zitat von eblick Beitrag anzeigen
    Also dass funktioniert nicht. Hier wird nur noch ein einzelner Wert ausgegeben.
    Das mit der führenden Null ist ja nicht tatsächlich in der ID, Das führt aber genau dazu, dass hier die 11 vor der 2 erscheint.
    Ok. Wenn du die reine ID nutzt, funktioniert ksort.
    Code:
     <?php
      
      $arrInput = array
      (
      1  => 'Hallo',
      10  => 'Welt',
      22 => ', bald',
      31 => 'ist',
      123 => 'Weihnachten.'
      );
      
      ksort($arrInput);
      var_dump(implode(' ', $arrInput)); // 'Hallo Welt , bald ist Weihnachten.'
    ---
    Warum eigentlich die Mühe. Gib doch in den Tags Einstellungen als Sortierfeld "id" an. Wird dann die Ausgabe nicht direkt danach sortiert.

    Einen Kommentar schreiben:


  • eblick
    antwortet
    Also dass funktioniert nicht. Hier wird nur noch ein einzelner Wert ausgegeben.
    Das mit der führenden Null ist ja nicht tatsächlich in der ID, Das führt aber genau dazu, dass hier die 11 vor der 2 erscheint.

    Einen Kommentar schreiben:


  • Tim
    antwortet
    natsort() geht leider nur für Werte. Ein direktes knatsort hat php nicht. Man würde mit array_flips arbeiten, aber das ist aufwendiger als den Schlüssel zu "padden"

    PHP-Code:
    $k sprintf("%04d"$k); // 4 nullen vor Wert 
    funzt das, oder habe ich einen Denkfehler?
    ---
    Mhh... ksort funzt doch eigentlich absolut richtig, wenn es reine numerische Werte sind. Wo kommt denn deine führende Null her? Die ID speichert ohne führende Null.
    Zuletzt geändert von Tim; 21.12.2017, 07:34.

    Einen Kommentar schreiben:


  • eblick
    antwortet
    Ich wollte hier die Vorlage für Tag-Sortierung verwenden, allerdings nach ID. Problem ist, dass hier die führende Null nicht berücksichtigt wird. Also die 11 vor der 2 einsortiert wird.
    Wie kann ich hier die $k Variable anpassen?

    Einen Kommentar schreiben:


  • Tim
    antwortet
    Zitat von Christina Beitrag anzeigen
    Hm, wenn ich sie im Code nicht einsetzen lasse, ist sie nur noch einsortiert da, aber nicht mehr an erster Stelle
    Das darf nicht der Fall sein. Bitte prüfe exakt gegenüber den Standard-Templates. Die leere Option muss immer an Position 0 (erste Position) stehen und auch nie doppelt erscheinen.

    Einen Kommentar schreiben:

Lädt...
X