내 PHP 코드처럼 보이도록 PHP에서 내 JSON의 responce를 포맷 할 :어떻게이
{"query":c "suggestion":["CA","CO","CT"]}
내가 원하는 것을 얻을 출력을 준비 할 수있는 올바른 방법을 알아낼 수 없습니다
(
내 PHP 코드처럼 보이도록 PHP에서 내 JSON의 responce를 포맷 할 :어떻게이
{"query":c "suggestion":["CA","CO","CT"]}
내가 원하는 것을 얻을 출력을 준비 할 수있는 올바른 방법을 알아낼 수 없습니다
(
루프를 while
루프로 다시 작성하면 제안으로 구성된 배열이 만들어지고 인코딩됩니다.
require ("connect.php");
$input = mysql_real_escape_string($_GET["query"]);
$data = array();
$query = mysql_query("SELECT `abbr` FROM `states_list` WHERE `abbr` LIKE '{$input}%'") or die(mysql_error());
while ($obj = mysql_fetch_object($query)) {
$data[] = $obj->abbr;
}
header("Content-type: application/json");
echo '{"query":'.$input.' "suggestion":'.json_encode($data).'}';
P. 또한 SQL 삽입을 피하기 위해 사용자 입력에서 가져온 문자열을 올바르게 이스케이프하는 것을 잊지 마십시오. 이런 식으로 포맷
$json[] = $obj;
을 $json[] = $obj->abbr;
으로 변경하십시오.
시도 :
$query = "c";
$suggestion = array('CA', 'CO', 'CT');
$return = array('query' => $query, 'suggestion' => $suggestion);
echo json_encode($return);
는 루프에서 $query
및 $suggestion
을 구축 할 수 있습니다.
최종 json도 손상되었습니다. 입력을 따옴표로 묶지 않고 '제안'앞에 쉼표를 사용하지 않습니다. – mario