2014-09-02 111 views
-2

我有这个问题的一些问题:从文件导入数据到数据库与字段关联?

我正在从事这个脚本在php中从csv文件导入数据到mysql。

因为每个文件都有不同的标题我正在处理这个“接口”,我将在数据库字段和文件字段之间建立关联。

其实我在最重要的部分被封锁:如何最终确定关联?
其实我得到这个输出:现在

<table> 
    <tr>DATABASE</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>FILE</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> 
     </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> 
     </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> 
     </td> 
    </tr> 
</table> 

,通过jQuery我怎样才能使一个JSON我在那里建立关联,如:

DB_1 => FILE_1:SELECTED_VALUE 

DB_2 => FILE_2:SELECTED_VALUE 

DB_3 => FILE_3:SELECTED_VALUE 

回答

1

你的HTML在很多方面打破,首先TR-元素不能包含任何文本,其次select-elements不会关闭。纠正这些。然后,如果我正确地理解了你,你可以利用数据属性来生成你需要的对象。像这样:

HTML:

<table> 
    <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" class="doStuff"> 
      <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" class="doStuff"> 
      <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" class="doStuff"> 
      <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> 
</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); 
}); 
+0

真的...感谢名单!!!!!有用 ! – 2014-09-03 08:20:09