mysql - PHP - Database Array to JSON -
i'm searching mysql database results based on input value. once data has been pulled, included array , encoded json.
at moment code works expected, not loop through every database result, pulls first results contains input data, if there multiple results match.
for example. if input letter "e" front end search form, should results contain letter "e", gets first result letter "e" rather looping through enter table (there 3 other results should pulled).
is there way modify current code loop correctly , results match query?
$search_string = preg_replace("/[^a-za-z0-9]/", " ", $_post['query']); $search_string = $search_db->real_escape_string($search_string); if (strlen($search_string) >= 1 && $search_string !== ' ') { $query = 'select kbarticleid,subject swkbarticles subject "%'.$search_string.'%"'; $initial = $search_db->query($query); while($results = $initial->fetch_array()) { $result_array['kbarticleid'] = $results['kbarticleid']; $result_array['subject'] = $results['subject']; } $match = $result_array['kbarticleid']; $queryf = "select * swkbarticlelinks kbarticleid = '$match'"; $final = $search_db->query($queryf); while($results2 = $final->fetch_array()) { $result_array['linktype'] = $results2['linktype']; } echo json_encode($result_array); } there 2 database queries need run through 2 different tables.
please change line follows
$search_string = preg_replace("/[^a-za-z0-9]/", " ", $_post['query']); $search_string = $search_db->real_escape_string($search_string); if (strlen($search_string) >= 1 && $search_string !== ' ') { $query = 'select kbarticleid,subject swkbarticles subject "%'.$search_string.'%"'; $initial = $search_db->query($query); while($results = $initial->fetch_array()) { $result_array['kbarticleid'][] = $results['kbarticleid']; $result_array['subject'][] = $results['subject']; } $match_detail = $result_array['kbarticleid']; foreach($match_detail $match){ $queryf = "select * swkbarticlelinks kbarticleid = '$match'"; $final = $search_db->query($queryf); while($results2 = $final->fetch_array()) { $result_array['linktype'][] = $results2['linktype']; } } echo json_encode($result_array); }
Comments
Post a Comment