Импортировать данные из файла в db с ассоциацией полей?

У меня есть некоторые вопросы об этом:

Я работаю над этим скриптом в php для импорта данных из файла csv в mysql.

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

На самом деле я заблокирован по самой важной части: как завершить связь? На самом деле я получил этот результат:

DATABASEFILE<table>
 <tbody>
 <tr><td id="db_1">COL_NAME_A</td>
 <td id="db_2">COL_NAME_B</td>
 <td id="db_3">COL_NAME_C</td> 
 </tr>

 
 <tr><td id="file_1">
 <select name="fileFieldsContainer">
 <option value="FILE_FIELD_A">FILE_FIELD_A</option>
 <option value="FILE_FIELD_B">FILE_FIELD_B</option>
 <option value="FILE_FIELD_C">FILE_FIELD_C</option>
 </select></td>
 <td id="file_2">
 <select name="fileFieldsContainer">
 <option value="FILE_FIELD_A">FILE_FIELD_A</option>
 <option value="FILE_FIELD_B">FILE_FIELD_B</option>
 <option value="FILE_FIELD_C">FILE_FIELD_C</option>
 </select></td>
 <td id="file_3">
 <select name="fileFieldsContainer">
 <option value="FILE_FIELD_A">FILE_FIELD_A</option>
 <option value="FILE_FIELD_B">FILE_FIELD_B</option>
 <option value="FILE_FIELD_C">FILE_FIELD_C</option>
 </select></td>
 </tr>
</tbody></table>

Теперь, через jquery, как я могу создать json, где я создаю ассоциацию вроде:

DB_1 => FILE_1:SELECTED_VALUE

DB_2 => FILE_2:SELECTED_VALUE

DB_3 => FILE_3:SELECTED_VALUE
1 ответ

Ваш html разбит по-разному, во-первых, tr-element не может содержать текст, во-вторых, элементы-элементы не закрыты. Исправьте это. Тогда, если я правильно понял, вы могли бы использовать атрибуты данных для генерации нужного вам объекта. Вот так:

Html:

<table>
 <tbody><tr>
 <td id="db_1">COL_NAME_A</td>
 <td id="db_2">COL_NAME_B</td>
 <td id="db_3">COL_NAME_C</td>
 </tr>
 <tr>
 <td id="file_1" data-db="db_1" data-file="file_1">
 <select name="fileFieldsContainer">
 <option value="FILE_FIELD_A">FILE_FIELD_A</option>
 <option value="FILE_FIELD_B">FILE_FIELD_B</option>
 <option value="FILE_FIELD_C">FILE_FIELD_C</option>
 </select>
 </td>
 <td id="file_2" data-db="db_2" data-file="file_2">
 <select name="fileFieldsContainer">
 <option value="FILE_FIELD_A">FILE_FIELD_A</option>
 <option value="FILE_FIELD_B">FILE_FIELD_B</option>
 <option value="FILE_FIELD_C">FILE_FIELD_C</option>
 </select>
 </td>
 <td id="file_3" data-db="db_3" data-file="file_3">
 <select name="fileFieldsContainer">
 <option value="FILE_FIELD_A">FILE_FIELD_A</option>
 <option value="FILE_FIELD_B">FILE_FIELD_B</option>
 <option value="FILE_FIELD_C">FILE_FIELD_C</option>
 </select>
 </td>
 </tr>
</tbody></table>

Js:

$(function () {
 var t = [];
 $(".doStuff").each(function () {
 var o = {};
 var innerO = {};
 innerO[$(this).data("file")] = $(this).find("select").val();
 o[$(this).data("db")] = innerO;
 t.push(o);
 });

 console.log(t);
});

licensed under cc by-sa 3.0 with attribution.