Как убрать теги из запроса ajax

219
06 июня 2018, 04:10

Есть ajax запрос в js файле на выполнение скрипта php. Результат выполнения нужно вывести в консоль в виде:

Фамилия1 Имя1 Счёт1
Фамилия2 Имя2 Счёт2

Но по ходу выполнения моего кода выходит это:

<table>
    <tr>
        <td>Фамилия1</td>
        <td>Имя1</td>
        <td>Счёт1</td>
    </tr>
    <tr>
        <td>Фамилия2</td>
        <td>Имя2</td>
        <td>Счёт2</td>
    </tr>
</table>

Запрос ajax:

 var tutajax = $.ajax("dobavl.php") 
            .done(function(data) { 
                    console.log(data); 
            })
        .fail(function() { 
            console.log("ne ochen"); 
            }); 

Код PHP:

<?php
$link = mysql_connect('localhost', 'тут логин', 'тут пароль')
    or die('Не удалось соединиться: ' . mysql_error());
mysql_select_db('vladiksan1998') or die('Не удалось выбрать базу данных');
$query = 'SELECT fname, sname, score FROM records';
$result = mysql_query($query) or die('Запрос не удался: ' . mysql_error());
echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    foreach ($line as $col_value) {
        echo "\t\t <td> $col_value </td> \n";
    }
    echo "\t</tr>\n";
}
echo "</table>\n";
mysql_free_result($result);
mysql_close($link);
?>
Answer 1

Вариант 1. Переделать код PHP, чтобы он возвращал данные в нужном формате/виде.

Вариант 2. Не переделывать код PHP:

var tutajax = $.ajax("dobavl.php") 
  .done(function(data) { 
    $(data).find("tr").each(function() {
      var rowValues = [];
      $(this).find("td").each(function(){
        rowValues.push($(this).text());
      });
      console.log(rowValues.join(" "));
    });
  }) 
  .fail(function() { 
    console.log("ne ochen"); 
  }); 
Answer 2

Вариант 1:

Можно задать порядок выборки полей в запросе:

$query = 'SELECT field1, field2, field3 FROM records';

Где, field1 - имя, field2 - фамилия, field3 - целое число
Тогда при выводе полей в цикле будет определяться последовательность полей так, как ты их задал в запросе

Вариант 2:

При выводе ассоциативного массива указывать поля:

echo "<table>\n";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
    echo "\t<tr>\n";
    echo "\t\t<td>" . $line['field1'] . "</td>\n";
    echo "\t\t<td>" . $line['field2'] . "</td>\n";
    echo "\t\t<td>" . $line['field3'] . "</td>\n";
    echo "\t</tr>\n";
}
echo "</table>\n";
READ ALSO
Импорт CSV в mySQL не полностью

Импорт CSV в mySQL не полностью

Такая ситуация: импортирую файл в таблицу базы данных в котором 2 900 000 строк и весит около 800 мбРезультат - в таблице только 400 000 примерно или...

220
УПРАВЛЕНИЕ С БАЗЫ ДАННЫХ id svg обьектом

УПРАВЛЕНИЕ С БАЗЫ ДАННЫХ id svg обьектом

Имеется простое веб-приложение на котором по нажатию на "Насос1" или "Насос2" будет меняться цвета насосов (с красного на зеленый) ,сам рисунок...

169
Laravel Faker — как заполнить таблицу категорий (дерево)?

Laravel Faker — как заполнить таблицу категорий (дерево)?

Как заполнить таблицу категорий со структурой : id, name, parent_id, created_at, updated_id ? Только что бы не было ситуации когда у категории "3" дочерняя категория...

233
filectime возвращает не правильное время

filectime возвращает не правильное время

Нужно получить дату и время создания документаКод:

219