Sortierung nach bestimmter, festgelegter Feldreihenfolge

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

  • Sortierung nach bestimmter, festgelegter Feldreihenfolge

    Hallo,

    ich sitze an einem Projekt und finde keine Lösung für ein Problem. Es handelt sich um eine Art Produktverzeichnis, in dem nach Produktnamen, Inhalten in der Beschreibung und der Artikelnummer gesucht werden kann. Die Suche soll jedoch in allen Feldern automatisch stattfinden, ohne dass der Benutzer explizit angeben muss, ob er nun eine Artikelnummer oder ein Produkt sucht.

    Da es sich jedoch um technische Produkte handelt, können diese auch nur "3490" heißen, was eine Unterscheidung zwischen nummerischen und nicht nummerischen Suchbegriffen unmöglich macht (um sagen zu können, ob nun in der Artikelnummer oder im Text gesucht werden soll).

    Das Hauptproblem liegt nun darin, dass bei der Ausgabe zuerst die Zeilen ausgegeben werden sollen, bei denen der Suchbegriff im Artikelnamen gefunden wurde, anschließend die mit Übereinstimmungen in der Artikelbeschreibung, dann die mit Treffern in zusätzlichen Artikelinformationen (z. B. Kompatibilitätslisten) und am Ende die Zeilen, bei denen der Suchbegriff innerhalb der Artikelnummer vorkommt.

    Ein Beispiel:

    ID: 1
    name: PT-3590
    text: blah blah
    komp: 5555 blah blah
    art_nr: 18486515

    ID: 2
    name: AT-239
    text: blah blah
    komp: Voll kompatibel zum PT-3590
    art_nr: 894894845

    ID: 3
    name: DD-239093
    text: blah blah
    komp: blah blah
    art_nr: 45883590845

    ID: 4
    name: XS-0931 V1
    text: blah blah ähnlich dem PT-3590
    komp: blah blah
    art_nr: 4888454


    Die Suche soll nun zuerst der Artikel mit der ID 1 ausgeben, da der Suchbegriff im Artikelnamen gefunden wurde. Anschließden die ID 4, da Suchbegriff im Text gefunden. Dann ID 2, da hier der Suchstring in der Kompatibilitätsliste gefunden wurde und am Ende die ID 3, da hier der Begriff in der Artikelnummer auftaucht.

    Die einzige Lösung, die mir zu diesem Problem einfällt, wären 4 Abfragen. Die erste sucht im Artikelnamen, die zweite im Text usw.

    Da es aber eigentlich 17 Felder sind, in denen gesucht werden soll und die Tabelle mehrere Tausend Datensätze beinhaltet und sehr stark frequentiert ist, wären 17 Abfragen nicht gerade schön für die Performance.

    Desweiteren wäre das Hinzufügen von 16 weiteren Querys sehr aufwändig, da ich der 6. Entwickler an diesem Projekt bin und jeder meiner Vorgänger sein eigenes Süppchen gekocht hat und zwangsläufig 30 % der gesamten PHP-Struktur umgestalten müsste.

    Weiß jemand, wie ich diese Sortierung lösen kann? Dass praktisch nach einer fest vorgegebenen Reihenfolge der Spalten gesucht wird? (Eine weitere Sortierung nach Alphabet oder so ist nicht nötig.)

    Vielen Dank schonmal fürs Lesen und evtl. Kopfzerbrechen

    DasD

  • #2
    Benutze mal die Suche im Forum,
    da ist es zu finden.
    Bei Risiken und Nebenwirkungen fragen Sie Dr.Alban

    Kommentar

    Lädt...
    X