2014-07-08 3 views
2

웹 서비스에서 값을 가져옵니다. 그리고 그 값을 Web SQL 데이터베이스의 테이블에 삽입해야합니다.자바 스크립트를 사용하여 Web SQL 데이터베이스의 테이블에 동적으로 값 추가

4 개의 레코드가 있습니다. 루프에 다음 코드를 삽입했지만 마지막 레코드 만 데이터베이스에 추가되고 처음 세 레코드는 추가되지 않습니다.

for(var t=0;t<main_category.length;t++){ 
     db.transaction(function(tx){ 
      var insertStatement="INSERT INTO main_menu(catId,catName,catImage) VALUES(?,?,?)"; 
      tx.executeSql(insertStatement, [menu_id, menu_name, menu_img]); 
      console.log("values inserted "+ t); 
     }); 
} 

나는 그것이 작동하지 않았다, 링크를 따라하는 것은 그들 중 하나가,

Web SQL Database + Javascript loop

을 많은 솔루션을 시도하지만. 동적 값으로 테이블을 채우는 방법은 무엇입니까?

답변

2

이 시도 :

for(var t = 0; t < main_category.length; t++){ 
     (function(i) { 
      var item = main_category[i]; 
      var menu_id = item.id, menu_name = item.name, menu_img = item.img; 
      db.transaction(function(tx) { 
       var insertStatement="INSERT INTO main_menu(catId,catName,catImage) VALUES(?,?,?)"; 
       tx.executeSql(insertStatement, [menu_id, menu_name, menu_img]); 
       console.log("values inserted "+ i); 
      }); 
     })(t); 
} 

결과 :

+0

하지만 값이 데이터베이스에있는 테이블에 삽입되지 않아요. – Deepika

+0

이 코드는 http://puu.sh/a1Lds/d72bb5e8d3.png이므로 어떤 브라우저를 사용하고 있습니까? – ssut

+0

아아! catNames와 catImages에서 문제가 발생했습니다. 모든 값은 첫 번째 행에 삽입되고 두 번째 행에서는 1 씩 감소합니다. – Deepika