2014-09-02 109 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