Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2014, 16:09
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Вывод с локальной БД
Здравствуйте всем.
Есть массив который выводит график
data: [
    { year: '2013-12-19', value: 72 },
    { year: '2013-11-15', value: 69 },
    { year: '2013-11-06', value: 68 },
    { year: '2013-10-24', value: 66 },
    { year: '2013-10-15', value: 65 }
  ],

и есть локальная БД WebSQL

вопрос: как можно оттуда получить данные в этот массив?

нашел примеры работы с локальной БД, но не пойму как это использовать в моем случае.
// получение данных из БД
	speckyboy.init.getTodo = function(){
		var database = speckyboy.init.db;
		database.transaction(function(tx){
		tx.executeSql("SELECT * FROM todo", [], function(tx,result){
				for (var i=0; i < result.rows.length; i++) {
					todo_item = result.rows.item(i).todo_item;
					todo_date = result.rows.item(i).due_date;
				}
			});
		});
	}
Ответить с цитированием
  #2 (permalink)  
Старый 14.05.2014, 09:30
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

никто не подскажет ?
Ответить с цитированием
  #3 (permalink)  
Старый 14.05.2014, 13:05
Mel Mel вне форума
Аспирант
Отправить личное сообщение для Mel Посмотреть профиль Найти все сообщения от Mel
 
Регистрация: 24.02.2012
Сообщений: 33

С локальной базой можно по ODBC через Recorset работать, но как на это посмотрит политика безопасности?
Ответить с цитированием
  #4 (permalink)  
Старый 16.05.2014, 06:29
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Сообщение от Mel Посмотреть сообщение
С локальной базой можно по ODBC через Recorset работать, но как на это посмотрит политика безопасности?
Вы наверное не совсем поняли вопрос -
меня интересует сам синтаксис вывода.
data: [
    { year: '2013-12-19', value: 72 },
    { year: '2013-11-15', value: 69 },
    { year: '2013-11-06', value: 68 },
    { year: '2013-10-24', value: 66 },
    { year: '2013-10-15', value: 65 }
  ],

как в этот массив селектом вставить нужные данные?
Ответить с цитированием
  #5 (permalink)  
Старый 16.05.2014, 12:06
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Я никогда с WebSQL особо не работал, но насколько я понимаю просто селектом оно данные в массиве не обновит. Придется либо циклом перебирать и заменять соответствующие элементы, либо делать новый массив из выборки и заменять им старый. Как-то так:
<!DOCTYPE HTML>
<html>
  <head>
  <meta charset="utf-8">
  </head>
  <body>

<script>
var data = [];
var db = openDatabase('mydb', '1.0', 'test', 20000);
db.transaction(function (tx) {
   tx.executeSql('CREATE TABLE IF NOT EXISTS TableName (id unique, year, value)');
   tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (1, "2013-11-15", "11")');
   tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (2, "2013-10-24", "22")');
   tx.executeSql('INSERT INTO TableName (id, year, value) VALUES (3, "2013-12-17", "33")');
});
db.transaction(function (tx) {
   tx.executeSql('SELECT * FROM TableName', [], function (tx, results) {
   var len = results.rows.length;
   for (var i = 0; i < len; i++) {
      var tmpObj = {
        year: results.rows.item(i).year,
        value: results.rows.item(i).value
      };
      data.push(tmpObj);
   }

   alert(JSON.stringify(data,'',2));
 }, null);
});
</script>

  </body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 27.05.2014, 13:48
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

jsnb,

спасибо!
Ответить с цитированием
  #7 (permalink)  
Старый 03.07.2014, 14:57
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

Если честно, то я так и не разобрался.
попробую еще раз описать задачу -
db = openDatabase("speckyboy","1.0","Моя первая БД",200000);  
if(!db){alert("Failed to connect to database.");}

db.transaction(function(tx) {
tx.executeSql("SELECT * FROM todo", [], function(tx,result){
    	for (var i=0; i < result.rows.length; i++) {
    	  	todo_item = result.rows.item(i).todo_item;
    		todo_due_date = result.rows.item(i).due_date;
    		todo_id = result.rows.item(i).ID;
            myFnc(todo_item,todo_due_date);   	   
				}
    
}, function(tx, error){});


});
 function myFnc(todo_item,todo_due_date){
    arr = todo_item;
    }

в arr я уже получил список дат. Но мне они нужны как то по другому, в виде массива. Что бы подсунуть их сюда -
new Morris.Line({
  // ID of the element in which to draw the chart.
  element: 'myfirstchart',
  // Chart data records -- each entry in this array corresponds to a point on
  // the chart.
  data: [
    { year: '2013-12-19', value: 72 },
    { year: '2013-11-15', value: 69 },
    { year: '2013-11-06', value: 68 },
    { year: '2013-10-24', value: 66 },
    { year: '2013-10-15', value: 65 }
  ],


но как сюда подставить дату и значение полученные из бд никак не пойму.
помогите плиз. уже тут я точно не смогу сам дойти
Ответить с цитированием
  #8 (permalink)  
Старый 04.07.2014, 08:23
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Ну так а я откуда знаю, что у вас там в таблице todo. И я не вижу где у вас в коде объекты с year и value создаются.
Ответить с цитированием
  #9 (permalink)  
Старый 04.07.2014, 13:38
Кандидат Javascript-наук
Отправить личное сообщение для Зосимов Посмотреть профиль Найти все сообщения от Зосимов
 
Регистрация: 11.02.2013
Сообщений: 102

в таблице todo дата в формате '2013-10-24' и цифра в формате 65
Ответить с цитированием
  #10 (permalink)  
Старый 04.07.2014, 16:04
Профессор
Отправить личное сообщение для jsnb Посмотреть профиль Найти все сообщения от jsnb
 
Регистрация: 15.03.2014
Сообщений: 561

Сообщение от Зосимов Посмотреть сообщение
в таблице todo дата в формате '2013-10-24' и цифра в формате 65
Так в чем проблема то тогда? Суйте эти данные в объект, а объект в массив. У меня же там был приведен код который делает именно это.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод выбранных данных и проверка checkbox MasterHrust Javascript под браузер 3 28.09.2011 17:44
Вывод переменных MasterHrust Javascript под браузер 4 03.08.2011 15:41
Вывод данных в Друпал 6 из MySQL, небольшая работа torquemada Работа 1 22.05.2011 17:05
вывод картинки и vrml mister_maxim Events/DOM/Window 16 12.01.2010 17:40
Пошаговый вывод скрипта для IE всех версий. Zidky Элементы интерфейса 10 17.06.2009 18:27