Ankündigung

Einklappen
Keine Ankündigung bisher.

JQuery + Autocomplete mit htmlentities

Einklappen

Neue Werbung 2019

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

  • JQuery + Autocomplete mit htmlentities

    hallo,

    ich bin recht unerfahren in php und noch viel unerfahrtener in javascript. und nun stehe ich vor folgendem problem: ich soll ein kleines tool erstellen, welche reklamationen erfasst und verwaltet. das läuft auch alles recht gut, bis auf ein kleines optisches problem.
    in einem input-feld suche ich mittels jquery und autocomplete nach einer firma. das sieht so aus: es existiert eine datenbank in welche alle verfügbaren firmen hinterlegt sind. wenn man nun im inputfeld 3 zeichen eingibt werden alle treffer dieser 3 zeichen aufgelistet. man kann nun die gewünschte firma auswählen und ist glücklich. das probelm: die firmen sind mit html-code in der datenbank eingetragen. (  ö usw.) wenn ich nun in das input-feld ein leerzeichen oder ein "ö" eintrage bekomme ich keine ergebnisse. wenn ich hingegen " " anstatt einem leerzeichen eintrage läuft alles super.
    das selbe ist auch andersrum. wenn ich eine firma auswähle welche leerzeichen im namen hat werden mir die leerzeichn im inputfeld angezeigt. (also das ergebnis wird in html-.code dargestellt).

    ich persöhnlich glaube nun, wenn ich dem inputfeld beibringen könnte, dass es automatisch die eingabe durch htmlentites() jagen könnte, bzw die ergbenise durch html_entity_decode() wäre ich mehr als zufrieden

    hier der code:
    JS,JQuery,Autocomplete:
    Code:
    $().ready(function() {
    		$("#firmasuche").autocomplete("suche.php", {
    				minChars: 3,
    				width: 200,
    				autoFill: false,
    				mustMatch: true
    
    		});
    		$("#firmasuche").result(function(event, data, formatted) {
    			if (data)
    			$("#hidden_id_firma").val(data[1]);
    		});
    
    		});
    html seite:
    PHP-Code:
    <input id='firmasuche' type='text'  name='suggest13' class="firma"
    suchseite:
    PHP-Code:
    <?php
    include "funktionen_reklamationstool.php";
    database();

     
    $result mysql_query ("SELECT  `id_firma`, `name`, `ort` from `tbl_firma` WHERE `id_gst` = ".gst()." and (CONCAT(name,' ',ort) LIKE '".$_GET["q"]."%' OR  CONCAT(ort,' ',name) LIKE '".$_GET["q"]."%') ");
    while( 
    $res mysql_fetch_row($result)){
        
      echo 
    $res[1]." ".$res[2]."|".$res[0]."\n";
     
    }

    ?>
    danke für die hilfe

  • #2
    Mir reicht da immer php. Das gesuchte Wort wird in einer Sessionvariable gespeichert.

    PHP-Code:
    if (!empty($_SESSION['suchwort'])) {
            
    $text $row['text']; // der Inhalt aus deiner DB
            
    $s $_SESSION['suchwort']; // das gesuchte Wort

            
    $text preg_replace("/((<[^>]*)|$s)/ie"'"\2"=="\1"? "\1":"<strong><font color=\"#ff0000\">\1</font></strong>"'$text); // schön rot einfärben....
            
    echo $text// gefärbte Variante ausgeben.
            
    session_destroy(); // session wieder löschen.
            

    Kommentar


    • #3
      danke für die schnelle antwort.

      nur leider weiss ich noch net so recht was du meinst.

      wohin gehört dieser code? in die suche-datei, oder unter bzw. anstatt dem input-feld?

      danke

      Kommentar


      • #4
        Das ist die Ausgabe. Angenommen du hast einen Text, da suchst du deine 3 Buchstaben. Äöü dann erhälst du durch diese Ausgabe Äöü dort wo es in deinem Text vorkommt.

        Hier z.B. ist diese Suche eingebaut
        KFZ Schlager Mandling MAN Fiat Mitsubishi

        Kommentar


        • #5
          ahh ich verstehe.

          löst zwar net mein problem, hab mir aber den link mal gespeichert, da es eine sehr interesante möglichkeit ist.

          habe nur das ganze selbst nachprogrammiert, un so konnte ich das problem mit der umwandlung lösen.

          danke

          Kommentar

          Lädt...
          X