Saturday, 15 May 2010

mysql - Php Autocomplete with Oracle error -



mysql - Php Autocomplete with Oracle error -

i'm trying utilize auto-complete using oracle.

i'd done using mysql, oracle got blank spaces.

this mysql code.

global $db; $term = trim(strip_tags(strtoupper($_get['term'])));//retrieve search term autocomplete sends $sql = "select partno value products partno '".$term."%' order partno limit 15"; basic::eventlog('getpartnosfromdb-> '.$sql); $res =& $db->query($sql); while ($row=$res->fetchrow()){ $row['value']=htmlentities(stripslashes($row['value'])); $row_set[] = $row;//build array } echo json_encode($row_set);

and oracle

$term = trim(strip_tags(strtoupper($_get['term'])));//retrieve search term autocomplete sends $conn = oci_connect('xxxx', 'xxxxx', 'xxxxx'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ent_quotes), e_user_error); } $sql = "select product_definition value t_wip_job product_definition '".$term."%' , rownum < 16"; basic::eventlog('getpartnosfromdb-> '.$sql); $res = oci_parse($conn, $sql); oci_execute($res); while ($rowcc = oci_fetch_array($res, oci_assoc)){ $row_set[] = $rowcc;//build array } echo json_encode($row_set);

if execute these query first returns -> [{"value":"a2c00000000"},{"value":"a2c00000001"}] (mysql)

and sec returns -> [{"value":"a2c87115000"},{"value":"a2c87114900"}] (oracle)

but within textbox when tries auto-complete mysql result shows "a2c87115000" , "a2c87114900"

and oracle result shows " " , " ".

the problem case of hash keys, since mysql hash keys lowercase ("value"), while oracle ones uppercase ("value"). when load json, since javascript case sensitive, looking "value" finds content in first case.

try having lowercase keys in both case. should trick!

php mysql sql oracle

No comments:

Post a Comment