Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Нужна помощь в одном проекте


Автор: MrImho 4.8.2009, 01:48
Здравствуйте форумчане, нужна Ваша помощь, для начала предистория:
Создавая сложные проекты, такие как эдиторы, скандинавские аукционы, сложные google maps и ajax проекты, у меня начало скапливаться очень много переменных, в конце приходилось их структурировать. И благодаря этому родилась идея создания временной ДБ с переменными при помощи JS. В конце когдая я закончу, этот скрипт будет распространяться бесплатно по лицензии GNU. Всё кто активно будут принимать участие в этом топике, будут записаны в соавторы.
Я пожалуй начну первым вот каркас БД (файл ajsdb.js):
Код

/*
Andre JavaScript Data Base
Версия: 0.0.1
Дата релиза: 03.08.2009
Авторы: .......(ФИО мои и тех, кто активно учавствует в этом топике)
*/
var db=function($dbname)
{
this.name=$dbname;
}
db.prototype.create_table=function CreateT(name,rowsa)
{
    /*
    Данная конструкция должна создавать таблицу
    Входные данные: Название таблицы (String) и Название столбцов (Array)
    Исходящие данные: boolen(true - если создана,false - если есть какие-либо ошибки, совпадение имён таблиц например)
    Пока такая конструкция не работает
    if(this.tables=='undefined')
    {
    this.tables=name;
    }
    else
    {
    this.tables+=name;
    }
this.tables=name;
    for($i=0;$i=rowsa.length;$i++)
    {
    alert(this.tables.prototype.rows.rowsa[$i]);
    }*/
}
db.prototype.select=function selectT(name,where,orderBy)
{
    /*
    Данная конструкция должна делать выборку строк, как без сортировки, так и с ней, пока сортировка планируется лишь числовая (сортировка методом пузырька)
    Входные данные: Название таблицы (String), условие (String и Array) и Параметр сортировки (String)
    Исходящие данные: Массив с данными подходящими по запросу (Array)
    */
    if(orderBy!='')
    {

    }
}
db.prototype.insert=function insertR(name,Rarray)
{
    /*
    Данная конструкция должна добавлять строку в нужную нам таблицу
    Входные данные: Название таблицы (String), массив значений каждого столбца (Array)
    Исходящие данные: boolen(true - если создана,false - если есть какие-либо ошибки)
    */
}
db.prototype.update=function updateR(name,Rarray)
{
    /*
    Данная конструкция должна изменять строку в нужной нам таблице
    Входные данные: Название таблицы (String), массив значений каждого столбца (Array)
    Исходящие данные: boolen(true - если создана,false - если есть какие-либо ошибки)
    */
}
/*
Пока не уверен, что нам понадобиться функция foreach, т.к. всё должна делать функция select
db.prototype.foreach=function foreachR(Rarray,val)
{

}
function now()
{
Полный аналог mysql функции NOW(), пока незнаю понадобится ли она, сперва надо разработать основной функционал.
}
*/


Вот файл для тестирования (файл test.html):
Код

<script language='JavaScript' src='ajsdb.js'></script>
<script language='JavaScript'>
$db=new db('test');
rows=new Array('ID','product','price')
$db.create_table('lala',rows);
</script>


Так начнём с первой функции. У кого какие предложения по реализации первой функции (create_table) ?

Автор: Sardar 4.8.2009, 15:15
Сомнительная идея на самом деле...
В любом случае пока рано оставлять топ в готовых скриптах.


MrImho, распиши пару use case's, так что бы было ясно как это можно использовать (реальные примеры).

Автор: IDVsbruck 5.8.2009, 00:19
Неинтересно. Использование json, а также гибкость манипуляций и передачи на сервер полностью обеспечивает даже очень сложные проекты.
Я могу еще понять использование флеша с возможностью пользоваться его специфическим кешем, когда можно пользоваться положенными объектами даже после рефреша, но БД на javascript - это из области делать на нем графический редактор ... бессмысленно и неоправданно.

Автор: MrImho 5.8.2009, 00:46
Вот я это и хотел услышать. Оправдано ли моё стремление, или это лишь трата времени, в любом случае спасибо за ответ. Я порой берусь, за вещи, которые мне кажутся оправданными, хотя в реальности, это лишь ещё один не столь нужный скрипт.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)