2016-09-09 2 views
0

Как создать запрос GET с параметром и передать параметр на страницу PHP и использовать это значение для создания динамического запроса SELECT и заполнения ответа в угловом интерфейсе? Позвольте вам кратко объяснить код и другие детали.Http Get Request from Angular to PHP Server issues

sample.js

var link = 'http://www.testhostfile.com/GetData.php'; 

$http({ 
url: link, 
method: "GET", 
headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
data: $scope.inmateData.IMID 

}).then(function (res){ 
alert('Success'); 
console.log(res); 
}); 

GetData.php

<?php 

$db_name = 'testDb'; 
$hostname = 'localhost'; 
$username = 'testName'; 
$password = 'password'; 
$usertable = "InMateMaster";  

$fileData = file_get_contents("php://input"); 
$request = json_decode($fileData); 

if (isset($request)) { 

$imID = $request->IMID; 

echo($imID); 
} 

$db = new mysqli("localhost",$username,$password,$db_name); 

if($db->connect_errno > 0) { 
die('Unable to connect to database[' .$db->connect_error. ']'); 
} 

$sql = "SELECT * FROM InMateMaster WHERE IMID = 'KAS9791257393'"; 


if(!$result = $db->query($sql)){ 
die('There was an error running the query [' .$db->error. ']'); 
} 

$arr = array(); 
if($result->num_rows > 0) { 
while($row = $result->fetch_assoc()) { 
$item = array(); 
$item['IMName'] = $row['IMName']; 
$item['IMMobile'] = $row['IMMobile']; 
$item['IMFatherName'] = $row['IMFatherName']; 
$arr[] = $item; 
} 
} 

header('Content-Type: application/json'); 
echo json_encode($arr); 

?> 

Теперь Как назначить динамическое значение, которое я прошел от параметра запроса GET, чтобы здесь, как показано ниже:

$ sql = "SELECT * FROM InMat eMaster WHERE IMID = 'здесь мне нужно установить' ";

Согласно нижеследующему запросу, я получил ответ, как показано ниже.

$ sql = "SELECT * FROM InMateMaster WHERE IMID = 'KAS9791257393'";

Ответ:

Output

1.So Как я могу с помощью запроса на выборку динамически - в том смысле, как я могу передать одно значение из запроса GET и в том значении, как запросить с помощью SELECT и WHERE и как заполнить результат угловым.

2. В соответствии с ответом ниже в привязке. Как я могу получить эти ценности в угловой любой идее?

[{ "IMName": "Venu М", "лежачими": "9791257393", "IMFatherName": "Муруган N"}]

Позвольте мне знать, если вам нужно больше разъяснений в этом ,

+1

Это запрос GET, как и любой другой. Если вы хотите передать данные, вы делаете это в строке запроса: 'http: //example.com/script.php? Foo = bar', который создает' $ _GET ['foo'] = 'bar'' на сервер. Запросы GET делают ** NOT ** имеют http "body", поэтому чтение из ввода php: // бесполезно. у которого никогда не будет ничего доступного. –

+0

@Marc - Так что это невозможно сделать, как POST - мы отправляем параметр и получаем этот параметр в PHP и используя это значение, которое я не могу запросить? Но я хочу динамический запрос, например, при отправке запроса GET мне нужно отправить идентификатор пользователя в том, что я хочу запросить, например, SELECT * из Inmate, где id = 'полученный параметр здесь?? –

+0

, если у вас есть только 'http://example.com/script.php? {" Foo ":" bar "}', тогда для PHP не нужно создавать пару ключ = значение в $ _GET. Вам нужно будет прочитать '$ _SERVER [" QUERY_STRING '] 'или что-то еще. –

ответ

0

Я использовал ниже, чтобы получить данные от углового до PHP через запрос Get в соответствии с предложением г-на Маркса, что он работает хорошо.

sample.js

$http.get('http://www.hostelkasthuri.com/GetInmate.php?'+$scope.inmateData.IMID 
        ).success(function(response) { 
           alert("SUCCESS!"); 
           console.log(response.IMName); 
           }) 
        .error(function(data) { 
          alert("ERROR"); 
          alert(data); 
          }); 

sample.php

$imID= $_SERVER['QUERY_STRING']; 
echo "The query string is: " . $imID; 

$ SQL = "SELECT * FROM InMateMaster WHERE ИМИД = '$ ИМИД'" ;

Мой вопрос здесь - согласно выше тренировке Теперь можно получить ответ от PHP с помощью динамического запроса.

Ответ:

{ "IMName": "Suthan М", "лежачий": "9659057393", "IMFatherName": "Муруган N"}

Теперь, как я могу получить выше формат ответа в угловой js любая идея?

Мой рабочий код здесь, но как получить каждое значение в блоке углового ответа?

$http.get('http://www.hostelkasthuri.com/GetInmate.php?'+$scope.inmateData.IMID 
       ).success(function(response) { 
          alert("SUCCESS!"); 
          console.log(response.IMName); 
          }) 
       .error(function(data) { 
         alert("ERROR"); 
         alert(data); 
         }); 

response.IMName - получение нулевой причины?