@legioner2289

Как обработать несколько значений из бд в ajax?

Из бд приходит несколько значений, можно ли их все обработать в success в ajax, сейчас обрабатывается последняя найденная запись.
PHP

$result1 = mysql_query("SELECT place FROM TotalTickets WHERE timeBegin = '".$bs."'");
while ($values = mysql_fetch_assoc($result1)) {
    echo json_encode($values); 
}


JS

$.ajax({
    url:"test1.php", 
    data: { "bs": bs },
    dataType: "json",
    async: true,
    success:function(result1){ 
      $sit=result1.place;
   if ($sit='А'){
                console.log('yes');
                $(this).css('background', '#c9c9c9');
              }
    },
    error: function (request, status, error) {
              console.log(request.responseText+ '|\n' + status + '|\n' +error);
          }
  });

>
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
slo_nik
@slo_nik
Вот как-то так:
$result = [];
while ($values = mysql_fetch_assoc($result1)) {
    $result[] = $values;
}
echo json_encode($result);

Возможно Вам не надо все данные возвращать, тогда соберите массив из необходимых данных и верните в ответе сервера.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@uncletobe
Получить данные из бд в массив.
Массив привести в json строку(json_encode(array))
Отправить обратно.
UPD.
$values = mysql_fetch_assoc($result1), здесь $values переменная т.е. она постоянно перезаписывается, на каждой итерации, потому там и будет последнее значение. нужно всего навсего добавить [ ], т.е. $values[ ] = mysql_fetch_assoc($result1),
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы