MySQLデータベースからJSONオブジェクトによってアプリケーションに複数のテーブル行を取得するにはどうすればよいですか。JSONオブジェクトからアプリケーションに複数のテーブル行を取得するには
テーブルから1行を取得すると、うまく動作します。しかし、私は複数の行を取得することはできません "SyntaxError:予期しないトークン{JSONの位置で..."と言うエラーをスローする
私はどうすればこの助けてください!
これは私の角度コード..です(ここでは変数を渡すIMと一致する行を取得し、コンソールにそれらを得る。)
$scope.companySelected = function(emp_Comp){
console.log('Selected Item is : '+ emp_Comp);
$http({
method: 'GET',
url: 'http://localhost/companyPopulate.php',
params: {employeeCompany : emp_Comp}
}).then(function successCallback(response) {
$scope.data = response.records;
console.log('success :'+ JSON.stringify(response));
//console.log(testdata.data);
}, function errorCallback(response) {
//console.log('error',response);
// called asynchronously if an error occurs
// or server returns response with an error status.
});
}
これは私が書いたPHPスクリプトです...
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
//http://stackoverflow.com/questions/18382740/cors-not-working-php
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
exit(0);
}
include_once 'config.php';
//create connection
$conn = new mysqli($mysql_host, $mysql_user, $mysql_password,$mysql_database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$fields = array();
if(isset($_GET['employeeNo']))
$fields['employeeNo'] = $_GET['employeeNo'];
if(isset($_GET['employeeName']))
$fields['employeeName'] = $_GET['employeeName'];
if(isset($_GET['employeeCompany']))
$fields['employeeCompany'] = $_GET['employeeCompany'];
$sql = "SELECT employeeName,employeeNo FROM employee_info WHERE ";
$count = 0;
foreach($fields as $key => $value){
if($count == 0)
$sql .= $key . "='" . $value . "' ";
else
$sql .= "AND " . $key . "='" . $value . "' ";
$count++;
}
$fields = array();
$result = $conn->query($sql);
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC))
{
if ($outp != "")
{
$outp .= ",";
}
$outp .= '{"employeeName":"' . $rs["employeeName"] . '"}';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo $outp;
/* }else{
echo 'parameters expected from the client are missing! :) ';
} */
?>
ブラウザでスクリプトを単独で実行しているときに正しい結果が得られました。
私を助けてください! ありがとうございました!私はあなたがこの
$output=array();
while($rs = $result->fetch_array(MYSQLI_ASSOC)){
$output[]=$rs;
}
json_encode($output);
header('Content-Type: application/json');
echo $output;
ジョインを使用して複数のテーブルからデータを取得する – Karthi
成功したログオンの応答は何ですか? – AranS