2010-12-05 15 views
0

Ich versuche, ein Autocomplete Tokenizer-Skript zu einigen Formularfeldern hinzufügen und ein Problem, das ich habe ist, wenn eine Person mehrere Werte für das Feld speichert die Autovervollständigen Vorschläge mit allen seinen Werten als zurückgegeben ein langer Wert anstelle von einzelnen Werten, die durch das Komma begrenzt sind. Ich habe zuerst versucht, den Wert einfach zu explodieren, aber es formatiert es nicht korrekt in der JSON-Codierung.Json encode Komma getrennte Zeile

Hier ist meine PHP-Datei:

//connection information 
$host = "localhost"; 
$user = "myuser"; 
$password = "mypass"; 
$database = "mydb"; 
$param = ($_GET["term"]); 

//make connection 
$server = mysql_connect($host, $user, $password); 
$connection = mysql_select_db($database, $server); 

//query the database 
$query = mysql_query("SELECT cb_activities FROM jos_comprofiler WHERE cb_activities REGEXP '^$param'"); 

//build array of results 
    for ($x = 0, $numrows = mysql_num_rows($query); $x < $numrows; $x++) { 
    $row = mysql_fetch_assoc($query); 
    $activities[$x] = array(cb_activitiesterm => $row[cb_activities]); 
    } 

//echo JSON to page 
$response = $_GET["callback"] . "(" . json_encode($activities) . ")"; 
echo $response; 

mysql_close($server); 

Dadurch wird die Ausgabe wie folgt ergibt: [{ "cb_activities": "Treten Cats"}, { "cb_activities": "Baseball, Hockey,"} ] aber ich brauche es wie folgt ausgegeben: [{ "cb_activities": "Treten Cats"}, { "cb_activities": "Baseball"}, "cb_activities": "hockey"}]

Ich muss auch einen Weg finden zu verhindern, dass doppelte Einträge auffüllen, zum Beispiel die Art, wie es jetzt heißt, dass 10 Leute alle Katzen als Wert ausgewählt haben, der 10 mal in th angezeigt wird e Autocomplete-Vorschläge.

Wie stelle ich dies ein, um die Kommata korrekt zu begrenzen und dann doppelte Werte auszusondern? Ich habe nicht viel mit json getan, also sei spezifisch lol.

Antwort

0

NM das doppelte Problem, ich habe gerade Select distinct statt nur auswählen, dieses Json Ding hat mich Dinge zu komplizieren jetzt lol. Jetzt, wenn ich nur herausfinden kann, wie man am Komma richtig abgrenzt, wird alles gut sein.