• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem bei Parameterübergabe

Nalia

New member
Hallo Leute,
ich hänge an folgender Stelle in meinem Script fest und bin auch nach langem Probieren nicht weiter gekommen:

In meiner Datenbank sind Pferde aufgelistet, unter anderem mit dem Datenbankfeld 'spezi'. Dort stehen Einträge wie z.B. 'E', 'E,V,P', 'P,E' usw. als String.
Ich rufe in einer Funktion eine weitere Funktion auf und übergebe dort den Parameter 'filter'. Der kommt zwar in der zweiten Funktion korrekt an (mit alert() geprüft), aber er wird trotzdem ignoriert. Dort werden dann alle Pferde mit spezi=E ausgegeben, auch jene mit dem spezi 'P'. Wenn ich den Filter direkt in die zweite Funktion reinschreibe, funktioniert alles einwandfrei. Was mache ich falsch?
Hier der Code:

Code:
function searchHorses(ev) {
    switch(ev) {
    ...
    case 3:
    // hier wird eine Liste aus der Datenbank gezogen und in das Array 'pferde' gepackt
    $.getJSON('json.php?trigger=11&spezi=E', function(pferde) {
       findHorses(pferde,"pferde[i].spezi.indexOf('P') == -1");
    )}
}


function findHorses(pferde,filter) {
    for (var i=0;i<pferde.length;i++) {
        if(filter) {
        document.write(pferde[i].name); 
        }
    }
}

Hat jemand eine Idee?
LG
Nalia
 
Wo soll denn der Filter gemacht werden? Im PHP auf dem Server oder im JS im Browser? Im Fall von PHP schätze ich, dass das Script den Parameter spezi nicht beachtet. Wie sieht denn die Stelle im json.php aus, die diesen Request verarbeitet?
 
Der Request funktioniert einwandfrei, da mir ja alle Pferde aufgelistet werden, in deren String 'spezi' das E und das P vorkommen. Der Filter soll ja verhindern, dass die Pferde mit P auch aufgelistet werden.
Die Abfrage hierzu lautet: ... where spezi like '%E%' ...
Siehe hierzu mein Script:

Code:
function searchHorses(ev) {
    switch(ev) {
    ...
    case 3:
    // hier wird eine Liste aus der Datenbank gezogen und in das Array 'pferde' gepackt
    $.getJSON('json.php?trigger=11&spezi=E', function(pferde) {
       findHorses(pferde,[B][COLOR="#FF0000"]"pferde[i].spezi.indexOf('P') == -1"[/COLOR][/B]);
    )}
}


function findHorses(pferde,[COLOR="#FF0000"][B]filter[/B][/COLOR]) {
    for (var i=0;i<pferde.length;i++) {
        if([COLOR="#FF0000"][B]filter[/B][/COLOR]) {
        document.write(pferde[i].name); 
        }
    }
}
 
Zurück
Oben