Как вставить данные из таблицы HTML в виде массива в MySQL через Ajax?

Я уже давно занимаюсь этим, и я очень новичок в этом вопросе. У меня есть сводная таблица с продуктами, которые необходимо отправить в базу данных. Я хотел бы как-то отправить всю таблицу HTML в MySQL, и я не смог ее достичь.

 <!-- Bootstrap CSS CDN -->

    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<table id="tabla1" class="table-bordered table-sm">
  <thead>
    <tr>
      <th>Cod</th>
      <th>Nombre</th>
      <th>Cod-trans</th>
      <th>Fecha</th>
      <th>Tipo</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>7454</td>
      <td>Impresora</td>
      <td>000-432-6456</td>
      <td>2019-10-01</td>
      <td>Articulo1</td>
    <tr>
    <tr>
      <td>7259</td>
      <td>Cartucho AB2</td>
      <td>000-312-3478</td>
      <td>2019-10-02</td>
      <td>Articulo6</td>
    <tr>
    <tr>
      <td>7454</td>
      <td>Impresora</td>
      <td>000-432-6456</td>
      <td>2019-10-01</td>
      <td>Articulo1</td>
    <tr>
    <tr>
      <td>6232</td>
      <td>CartuchoA125</td>
      <td>000-915-9321</td>
      <td>2019-10-01</td>
      <td>Articulo15</td>
    <tr>
  </tbody>
</table>
<br>
<input id="btn_enviar" type="button" class="btn-sm btn-primary" value="enviar">

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>

Я приведу в качестве примера простую таблицу из 5 столбцов. Как я могу создать массив с данными в этой таблице, и эти данные могут быть полностью вставлены в MySQL? Как я могу отправить это с Ajax?

0
задан 29.11.2019, 03:08
2 ответа

Планирование:

Думает как будто это был array bidimiensional. Элементы tr - первый "размер" и элементы td - секунда.
Думая в этом, что я сделал, состоял в том, чтобы пробегать с JQuery каждый элемент tr из #tabla1 tbody и потом в каждых tr я пробежал элементы td и aГ±adido Ваш текст в array. И произведенный array вводится внутри общего array.

BГЎsicamente, производит двухмерный array с данными

SoluciГіn:

$(document).ready(function(){
  $("#btn_enviar").click(function(){
    //Declaramos el array general
    var todo=[];
    //Recorremos cada tr dentro de #tabla1 tbody
    $("#tabla1 tbody tr").each(function(){
        //Declaramos el array de cada línea de la tabla
        var ele=[];
        //Buscamos en el elemento tr cada elemento td
        $(this).find("td").each(function(){
            //Añadimos al array de la tabla el contenido.
            //.text() cojera solo el texto aunque exista dentro html
            ele.push($(this).text());
        });
        //Añadimos el array de la linea al array general
        todo.push(ele);
    });
    console.log(todo);
  });
});

Потом в PHP только ты должен пробегать данные с циклом внутри другого

ВАЖНО : Ты оставил себе <tr> <tbody>, не закрывая

1
ответ дан 01.12.2019, 10:39
  • 1
    Превосходный спасибо за aclaració n. – h6gignacio 29.11.2019, 06:10

Обычно, используют данные о базе данных, чтобы вооружать таблицу. Так как таблица html - та, которую ты будешь показывать твоему клиенту в конце концов.
Сейчас, в твой ответ. Если ты действительно хочешь сохранять этот html в поле базы данных.

ты Можешь превращать всю таблицу в string и сохранять как любая другая информация, убедись, что твое поле было типа text или longtext и умно. В jquery код serГ - в asГ-:

var tabla1 = $("#tabla1").outerHTML;

jquery.outerHtml

Тогда с ahГ - уже состоит cuestiГіn в том, чтобы посылать из-за ajax.

0
ответ дан 01.12.2019, 10:39
  • 1
    Привет Пабло, таблица это у меня есть и принесенные с mysql. só я сделал это способом bá sica для того, чтобы они помогли мне создавать có я говорю, чтобы производить array. ¿ Có mo я могу производить таблицу как string? я говорю о количестве 20 линий. Поэтому я ищу способ производить arrays из-за колонны и así мочь посылать с PHP – h6gignacio 29.11.2019, 03:21