• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

JQuery UI autocomplete Sonderzeichen und anderes

Tanja

Neues Mitglied
Meine Kenntnisse darin sind sehr nahe von 0,01 ....

Ich verwende die Version (lt. Script) 1.8.21.

Zunächst das Script und dann die "Probleme":
PHP:
<script type='text/javascript'>
<?php

echo "$(function() {
            var projects = [";
                $result = $sql->query= "SELECT id, CONCAT(`dogname`, ' ', `dogname_affix`, ' ', `dogname_affix_born`) as `dog`,
                                        CONCAT(gender, '.png') AS sex
                                        FROM xxx";
                $stmt = $conn->prepare($result);
                $stmt->execute();
                while($row = $stmt->fetch())
                {        
                printf("
{
value:\"%s\", 
desc: \"%s\",
icon: \"%s\"\n},", $row["dog"], $row["id"], $row["sex"]
                                
                            );
                };
echo "];";
?>


$( "#hundename" ).autocomplete({
minLength: 3,
source: projects,
focus: function( event, ui ) {
$( "#hundename" ).val( ui.item.label );
return false;
},
select: function( event, ui ) {
$( "#hundename" ).val( ui.item.label );
$( "#hundename-id" ).val( ui.item.value );
$( "#projectdescription" ).html( ui.item.desc );
$( "#id" ).val( ui.item.desc );
return false;
}
})
.data("autocomplete")._renderItem = function (ul, item) {
        return $("<li />")
            .data("item.autocomplete", item)
            .append("<a><img src='../main/img/"+ item.icon + "' />" + item.label + "</a>")
            .appendTo(ul);
};


});


</script>

das ganze liest alle Hunde für die Suche aus der Datenbank aus, wobei ich hier schon nicht sicher bin ob das so der richtige Ansatz ist, weil die Seite selbst zwar schnell ist aber wenn ich denQuelltext ansehen möchte dauert es Ewigkeiten bis alles angezeigt wird. Im Quelltext stehen dann alle 16000 Hunde:
HTML:
<script type='text/javascript'> $(function() {             var projects = [ { value:"Brita  ",  desc: "1", icon: "female.png" }, { value:"Cézar z Březového háje  ",  desc: "2", icon: "male.png" },u.s.w.

Das wäre Problem Nr.1....

Problem Nr.2 sind die Umlaute: bei der Suche nach z.B. Cézar - ich kann nicht Cezar suchen, sondern muss das é so angeben - sollte aber nicht so sein...
Problem Nr. 3 ist das <li> und <a> - habe es von der jquery Seite so übernommen, weil ich das (fe)male.png angezeigt haben möchte.... Zum einen validiert das so nicht (line 80003 column 23 - Fehler: document type does not allow element "a" here) und "brauchen tue" ich das glaub ich auch nicht....

Habt ihr Tipps, was ich ändern soll/muss/kann? Möglicherweise auch ein völlig anderer Ansatz?
 
Werbung:
Irgendwie kam ich auch damit auf keinen grünen Zweig. Entweder die Umlaute oder "meine" Version. Im Netz gibt es auf diese Weise auch keine kombinierte Version.

Was ich oben gepostet habe, holt zuerst alle Hunde aus der DB und sucht dann in dem Array.
Ich muss es andersrum machen, erst Eingabe der Buchstaben und dann aus der DB holen, damit spare ich mir auch die Umwandlung der Sonderzeichen...Autocomplete with PHP, MySQL and Jquery UI - David Carr - Web Developer Hull
 
Werbung:
hallö,

und? damit bleibt doch dein Problem bestehen mit Sonderzeichen wie é. damit erreichst nur ein Haufen db abfragen was bei low kost Server schnell zum Problem werden kann.

cheffchen
 
sql-Abfrage ...WHERE dogname LIKE '%cezar% --> gibt mir alle aus, egal ob mit Sonderzeichen oder ohne...

Also ist diese Lösung auch fürn Popo?
 
hallö,

wie jetzt, du sagst gibt dir alles aus, auch Cézar, kann ich mir gar nicht vorstellen.

aber gut.

cheffchen
 
Werbung:
eben das gibt mir zu denken, Du wirst davon bei weitem mehr Plan haben als ich.
Diese sql-Abfrage habe ich für mich in einem Änderungs-Formular (auf dem nur ich was ändern kann) und das funktioniert auch mit anderen Umlauten. Alles utf8 ....
Ich fasse das so auf, das das eigentlich so gar nicht funktionieren dürfte, weil ??
 
Werbung:
Zurück
Oben