Ankündigung

Einklappen
Keine Ankündigung bisher.

Bestimmten Text ersetzen

Einklappen

Neue Werbung 2019

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

  • Bestimmten Text ersetzen

    Hallo

    wir haben ein Programm wo Hotels erfasst werden. Zu jeder Übernachtung und jeden Aufenthalt wird ein Formular ausgefüllt und das in einer Datenbank gespeichert. In einer weiteren Anwendung (der Auswertung) werden alle Hotels quasi zu einer bestimmten Stadt gesucht und es wird verglichen ob der Name in etwa mit der Stadt übereinstimmt (wird über eine Prozentrechnung gemacht - also Gewichtung) und dann wird das Hotel der Stadt zugeordnet und in einer Liste ausgegeben. Allerdings tauchen da einige Hotels aufgrund Falscheingaben vom Kunden doppelt und dreifach aus

    BSP:
    Parkhotel Essen
    NH Parkhotel Essen
    Parkhotel usw.

    Heißt eigentlich ist es immer das gleiche Hotel aber dadurch das der Kunde keine festen Namen und da quasi eingeben kann was er will habe ich dann bei der Auswertung ein Problem. Ich wüsste auch nicht wie ich das ändern kann.

    Nun ja, wir haben in einen Script dann versucht über eine Art Gewichtung das Hotel zu identifizieren. Dazu wird geschaut ob das Hotel in etwa mit der ebenfalls angegeben Stadt übereinstimmt und wenn ja wird's halt im Report (also der Ergebniskiste ) ausgegeben.
    auch hier wieder das Problem das dann das obere 3 mal ausgegeben wird obwohl das gleiche Hotel

    Und um das zu verbessern dachten wir bauen da eine Art Ersetzung ein.

    Z.B wenn einer "Übernachtung Parkhotel Essen" eingibt das darauf nur "Parkhotel" gemacht wird.
    ich müsste dann quasi eine ellenlange Liste machen wo ich Ersetzungen hineinschreibe


    etwa so:
    PHP-Code:
    $sSql.= " ,sHotelname=replace(`sHotelname`,'Frühstück','')"
    weil manche geben das Wort Frühstück mit als Name an ´was aber nicht stimmt. So aber das funktioniert trotzdem nicht da das Hotel weiterhin als "Frühstück, Parkhotel Essen" auftaucht neben den erwähnten anderen Versionen vom Hotel

    Ich suche alle eine Möglichkeit das über ein Wildcard zu machen

    zB folgendes: schaue in der Datenbank nach und ersetzte dort alle Hotelnamen wo die Stadt die gleiche ist und der Hotelname Parkhotel enthält und trage dort Parkhotel Essen ein. Groß und Kleinschreibung sollte das auch können.

    PHP-Code:
    $sSql.= " ,sHotelname=replace(`sHotelname`,'?Parkhotel?','Parkhotel Essen')"
    kann mir jemand helfen das Problem zu lösen?

    Ein anderer Ansatz war, eine Hotelliste zu machen wo das so ist:

    INSERT INTO hotel_names VALUES("de","Frankfurt","Frankfurt","1","bestwesterndoorm","Best Western Hotel Frankfurt Maintal");
    INSERT INTO hotel_names VALUES("de","Frankfurt","Frankfurt","1","bestwesternmaintal","Best Western Hotel Frankfurt Maintal");

    ich habe da quasi das Hotel ebenfalls in der DB mit mehreren Schreibweisen abgelegt. Das funktioniert allerdings nicht. Ich suche dann mittels Gewichtung und nach dem Namen


  • #2
    Ich würde ja eine eigene Liste (Tabelle) für alle Hotels nutzen und in den "Kommentaren" dann einfach nur auf die andere Tabelle verweisen. So kann der Kunde gleich sein Hotel aus einer Liste auswählen/danach suchen oder eben ein neues eintragen, falls es noch nicht drin ist.
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Hmnn die Erfassung kommt von wo anders und wird in diese DB eingespeisst und ich hole die Daten da ab. (Daten kommen von SAP)
      Mir bleibt also nicht weiter übrig als das irgendwie zu "matchen" also zu umzubiegen das mit zumindest eine halbwegs gute Tabelle als Ausgabe gelingt. Ziel ist eine Statistik zu machen wie oft wird das und das Hotel gebucht und zu welchen preis usw.

      aber wie müßte mein Ersetzen String aussehen wenn er mit Wildcards wäre? ich will also alles was vor oder nach Parkhotel steht weg haben und durch "Parkhotel Essen" ersetzten
      $sSql.= " ,sHotelname=replace(`sHotelname`,'*Parkhotel*','Parkhotel Essen')";
      so??? oder anders?

      aber irgrnmdwie müßte da noch Bedingung rein das die Stadt gleich ist weil es könnte ja sein das in Köln auch ein Parkhotel ist

      Kommentar


      • #4
        habs erstmal mit like gelöst aber nicht das ware

        Kommentar


        • #5
          (Daten kommen von SAP)
          Dann ist es die Aufgabe, die Daten dort vernünftig zu pflegen. Wie Du ja bereits merkst, ist das Problem inhaltlich nicht sinnvoll lösbar. Da hilft der beste Algorithmus nichts.

          Normalerweise sollte auch SAP mit eindeutigen IDs arbeiten.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            gut aber das ist ein externer der das einspeist - ich komme da nicht ran.
            Wie könnte den eine sinnvolle Routine aufgebaut sein um solche Eingabefehler auszubügeln?

            Kommentar


            • #7
              Bei SAP anrufen und sich das für 50000€ einbauen lassen.
              --

              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


              --

              Kommentar

              Lädt...
              X