2016-04-05 1 views
0

Мне кажется, что это очень простой вопрос, но я не уверен в синтаксисе. Я делаю http.post запрос $ в моем файла JavaScript:

$http.post('server.php', {"data" : cleTexte, "serverFlag" : 2}) 
      .success(function(data, status) 
      { 
       console.log(data); 
       grantTable = data; 
      } 

Файл PHP возвращает таблицу после SQL запроса:

$result = $conn->query("SELECT grantAmount FROM granttoassociation WHERE HEX(grantReceiver) = '$key' "); 
while($rs = $result->fetch()) { 
     if ($outp != "") { 
      array_push($outp,$rs["grantAmount"]); 
     } 
} 

$outp =json_encode($outp); 
echo($outp); 

И, как вы можете видеть, результат пострадали от grantTable в файле javascript. Он работает нормально, однако, я хотел бы иметь ДВА таблицы. Вторая таблица будет получена после второго SQL-запроса в php-файле. Конечный результат в файле javascript должен выглядеть так:

$http.post('server.php', {"data" : cleTexte, "serverFlag" : 2}) 
      .success(function(data, status) 
      { 
       console.log(data); 
       grantTable = data... 
       grantYear = data... 
      } 

Должен ли я это сделать?

Второй SQL-запрос будет что-то вроде:

"SELECT grantYear FROM granttoassociation WHERE HEX(grantReceiver) = '$key' " 
+0

и вам нужно сделать SQL запрос, РНР сложный cmbination двух querys или neew два делают два $ http угловатыми. Точная проблема?? Я не могу это понять –

+0

Если я сделаю запрос SQL в php-файле, запрос $ http.post вернет 2 таблицы. Как получить доступ к таблице 2 в файле javascript? Должен ли я писать 'grantTable = data.table1;' или что-то вроде этого ...? –

+0

Вам нужно создать объект из php, чтобы содержать первую и вторую таблицу SQL –

ответ

0

Основная идея заключается в том, чтобы запустить что-то вроде

"SELECT grantYear, grantAmount FROM granttoassociation WHERE HEX(grantReceiver) = 'yourkey' " 

Остерегайтесь SQL injection хотя и использовать PDO для передачи параметров или mysqli_.

В вашем JavaScript вы можете перебирать данные и .push соответствующие столбцы к объекту, который вы хотите провести его в

function(data, status) 
{ 
    console.log(data); 
    grantTable = []; 
    grantYear = []; 
    for (var index in data) { 
     grantTable.push(data[index]["grantAmount"]); 
     grantYear.push(data[index]["grantYear"]); 
    } 
} 
+1

Спасибо! Какая должна быть строка 'array_push ($ outp, $ rs ...' –

+0

У меня нет средств для ее проверки, но я думаю, что что-то вроде этого будет соответствовать вашим потребностям. Array_push ($ outp, array («grantAmount» => $ rs ["grantAmount"], "grantYear" => $ rs ["grantYear"])), так как JS-код ожидает массив, имеющий соответствующие индексы. –