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

Riesenproblem seit 7 tagen... Hilfe... AJAX/JSON

Status
Für weitere Antworten geschlossen.

bombbass

Neues Mitglied
so meine freunde, ich gebe es auf, ich kann nicht mehr, habe es versucht und versucht... möchte einfach nicht klappen, hoffe ihr könnt mir weiter helfen...
Zum Problem:

Habe eine Datenbank mit 2 Tabellen, 1*Kunde , 1*Projekt

habe einen formular, mit 3 dropdownliste. 1 ist gefüllt mit jahreszahlen, der rest ist leer...

nun möchte ich, sobald ich ein jahr auswähle, mir das programm die dazu gehörigen daten (Kunden/Projekt) aus der DB holt, soweit so gut...

Meine Bemühungen sehen so aus:
REQUEST (ein Teil):
Code:
function sendRequestYear(f){

    xhr = http();
    
    xhr.open("GET","all.php?name=" + escape(document.forms['f2'].Jahr.value), true); 
    
    xhr.onreadystatechange = output_all;
    xhr.send( null ); 
}

function output_all(){

    if( 4 == xhr.readyState  ){ 
        
        document.getElementById("all").style.visibility = "visible";
        inhalt = xhr.responseText;
        
        var laenge = document.getElementById("liste").childNodes.length;

        for(i = 0; i < laenge; i++) {  
            var loeschen = document.getElementById("liste").firstChild;
            document.getElementById("liste").removeChild(loeschen );
            
            var l2 = document.getElementById("kunde").firstChild;
            document.getElementById("kunde").removeChild(l2 );
        }
       
        liste = document.getElementById("liste");
        
        rueckgabe = eval ( "(" + inhalt + ")" );
 
       for ( i = 0; i < rueckgabe.length; i++ ) {
        
            var projekte = rueckgabe[i];            

            li  = document.createElement("option");
            li2 = document.createElement("option");

            li.setAttribute("value", projekte.Projekt);
            li2.setAttribute("value", projekte.Kunde);

            var textknoten = document.createTextNode( projekte.Projekt );
            var t2 = document.createTextNode( projekte.Kunde );
            
            li.appendChild( textknoten );
            li2.appendChild( t2 );

           liste.appendChild( li );
           kunde.appendChild( li2 );
        }
    }  
}

+ all.php:
PHP:
    if(isset($_GET['name'])){
    
        require_once 'passwd.inc.php';
        require_once 'connect.inc.php';
        require_once 'json.php';
        
        $json = new Services_JSON;
            
        //$sql = 'SELECT * FROM projekte WHERE Jahr = "' . $_GET['name'] . '"';
        
        $sql = 'SELECT DISTINCT Projekt FROM projekte WHERE Jahr = "' . $_GET['name'] . '"';    
        $result = mysql_query($sql);
        
        while($tupel = mysql_fetch_array($result, MYSQL_ASSOC) ) 
            $projekte[] = $tupel;

        $sql2 = 'SELECT distinct Kunde FROM projekte WHERE Jahr = "' . $_GET['name'] . '" ';
        $result = mysql_query($sql2);
        
        while($tupel = mysql_fetch_array($result, MYSQL_ASSOC) ) 
            $projekte[] = $tupel;
        
            echo $json->encode($projekte);
    }

als Ergebnis:
[{"Projekt":"Intranet"},{"Projekt":"Infomaterial"},{"Projekt":"Geburtstag"},{"Projekt":"Poker"},{"Kunde":"Klein"},{"Kunde":"Hansen"},{"Kunde":"Meier"},{"Kunde":"Franke"}]

nun kriege ich aber in die 1. DDListe insgesamt 8 einträge, davon jedoch die letzten 4 als 'undefined' (da die letzten 4 zum Kunden gehören)
genau dasselbe natürlich auch beim Kunden (da sind die 1. vier undefined, da zugehörigkeit zum projekt)

Wie kann ich diese 'undefined'-Einträge löschen?
Bei einem Ergebnis von 50 Kunden und 50 Projekte habe ich jedesmal ja auch 50 undefined-Einträge stehen, sieht katastrophal aus!!!

Bitte helfen, oder anderen Vorschlag, bin flexibel, hauptsache es funzt ;-)

danke und gruß
bombbass
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben