Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Динамическая таблица данных (https://javascript.ru/forum/events/59219-dinamicheskaya-tablica-dannykh.html)

MouseOver 01.11.2015 16:54

Динамическая таблица данных
 
Доброго времени суток!

Есть таблица создаваемая на js - http://prntscr.com/8xryyh

var t = document.createElement('table');
var tbody = document.createElement('tbody');
for(var i = 0;i<6;i++) {

    var tr = document.createElement('tr');
	for (var j = 0;j<16;j++){
    var td = document.createElement('td');
    tr.appendChild(td);
	td.id="td";
	td.onclick = function(){$('#exampleModal').arcticmodal(); };

}
   tbody.appendChild(tr);
}
t.appendChild(tbody);

document.getElementById('table').appendChild(t);


t.rows[0].cells[0].innerHTML="Ц/Ц";
t.rows[1].cells[0].innerHTML="1 год";
t.rows[2].cells[0].innerHTML="I квартал";
t.rows[3].cells[0].innerHTML="II квартал";
t.rows[4].cells[0].innerHTML="III квартал";
t.rows[5].cells[0].innerHTML="IV квартал";

var arr = [{year_line}];
for (var i = 0; i < arr.length; i++) {
  t.rows[0].cells[i+1].innerHTML=arr[i];
}


При наведении на ячейку она выделяется
По клику на нее всплывает модальное окно

Смысл в том, чтобы по клику на ячейку в модальном окне редактировать её значение а потом посредством ajax пересылать информацию в бд. Подскажите как связать каждую ячейку с базой данных...как передать эти данные.

laimas 01.11.2015 17:35

Цитата:

Сообщение от MouseOver
Подскажите как связать каждую ячейку с базой данных

С этим как раз и не должно быть проблем, так таблицу должны определять как раз данные из базы.

MouseOver 03.11.2015 17:59

Возможно кто то поможет НЕ за бесплатно? Или направит хотя бы!

laimas 03.11.2015 18:45

Цитата:

Сообщение от MouseOver
Смысл в том, чтобы по клику на ячейку в модальном окне редактировать её значение а потом посредством ajax пересылать информацию в бд.

По одному значению слать запрос в базу? А может быть лучше изменить все и отправить массив изменений один раз?

Таблица в базе и ее структура должны быть уже определены, не может js породить какую-то произвольную таблицу, а база догадаться что теперь с ее данными делать. Другими словами вы загодя уже знаете, что столбец Ц/Ц описывает в таблице mytable поле name, а столбец 4 поле field4 и т.д. И именно по этим данным и их структуре js должен готовить таблицу на клиенте.

Отредактировали на клиенте данные, нажали кнопку Обновить, при этом собрали все данные из таблицы как массив, ключи которого будут name, field4 и т.д. с массивами значений, в которых индекс равен индексу строки таблицы. Но если речь идет об обновлении уже существующих данных, то такой вложенный индексный массив не годится, должен быть некий уникальный идентификатор, который будет определять строку в таблице базы, которому значения из таблицы на клиенте принадлежат. Даже отправляя запрос на сервер по каждому изменению, а не все сразу, нужно сообщать серверу какой строке таблицы в базе принадлежит значение.

Поэтому скорее от вас требуется пояснение - структура вашей sql-таблицы, которую нужно связать с html-таблицей? Можно заменить, что не обязательно светить именами полей sql-таблицы на клиенте, имена полей sql-таблицы можно связать по их индексам с индексами колонок html-таблицы. Но строки таблицы только с уникальными идентификаторами записей sql-таблицы.


Часовой пояс GMT +3, время: 22:28.