Vor einiger Zeit stiess ich auf eine Aufgabenstellung, die mir erst einiges Kopfzerbrechen bereitet hat. Dabei ging es darum eine Liste mit Maschinen nach aufsteigendem Preis zu sortieren. Das ist ja noch sehr einfach.
&sort=price asc
Das zweite Kriterium der Suche war: Maschinen aus einem bestimmten Land sollten zuerst angezeigt werden.
&sort=country_isocode asc, price asc
Die Sortierung funktioniert jetzt soweit, dass nach Ländern sortiert wird und dann nach Preis. Aber es soll nach einem bestimmten Land sortiert werden. Also ich möchte alle deutschen Maschinen an den Anfang sortieren.
Die Lösung lautet Function Query.
&sort=if(exists(query({!v='country_isocode:D'})),100,0) desc, price asc
Die Funktion prüft darauf ob im Feld country_isocode das Länderkürzel D vorhanden ist und gibt dem Feld den Wert 100 oder falls nicht, dann 0. Damit wird nicht der Feldinhalt sortiert, sondern das Ergebnis der Funktion.
Auch interessant:
- Die wichtigsten Neuerungen in PHP 8.4: Was… PHP 8.4, das am 21. November 2024 erscheint, bringt eine Reihe von bedeutenden Neuerungen und Optimierungen für Entwickler mit. Mit Verbesserungen wie den Property Hooks, erweiterten Möglichkeiten für HTML5-Verarbeitung und…
- PHP Modul ctype: Überprüfen von Zeichenketten mit… Das PHP Modul ctype bietet dir Funktionen, die es ermöglichen, den Typ von Zeichen in einer Zeichenkette zu überprüfen. Du kannst zum Beispiel überprüfen, ob alle Zeichen in einer Zeichenkette Buchstaben, Ziffern,…
- Vom Junior zum Senior-Entwickler: Ein Wandel in der… Der Übergang vom Junior-Entwickler zum Senior-Entwickler ist nicht nur eine Frage der Erfahrung oder der technischen Fähigkeiten – es erfordert einen grundlegenden Wandel in der Denkweise. Viele Entwickler beginnen ihre…
- WordPress und Docker: Die perfekte Entwicklungsumgebung Docker ist ziemlich genial. Und wer für WordPress-Themes oder Plug-ins entwickelt, der wird die Vorteile der Nutzung von Docker sehr schnell merken. Hier zeige ich dir, wie du das schnell…
- Union Types in PHP Ab PHP 8.0 sind Union Types einsetzbar. Damit sind jetzt auch mehrere Definitionen von Datentypen bei Parametern, Eigenschaften und Rückgabewerten möglich. Ab PHP 8.2 sind auch Intersection Types möglich, das…