X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Класс для работы с БД
sc2r2bey
sc2r2bey
Topic Starter сообщение 26.10.2009, 14:43; Ответить: sc2r2bey
Сообщение #1


возможно ли такой создать, типа универсальный?


--------------------
Заметки о разработке и не только
программирую web и для we
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 26.10.2009, 21:34; Ответить: ZiTosS
Сообщение #2


sc2r2bey, Чтобы работать с разными базами данных? Например чтобы сразу можно было работать и с PostgreeSQL, MySQL и подобными используя один и тот же интерфейс.
Это давно уже реализовано, а с введением PHP5 сделать это стало намного проще, появились абстрактные классы и интерфейсы
Универсальные классы для работы сразу с несколькими БД, или имея один интерфейс, пользуемся разными БД
Существуют такие классы как:
1) AdoDB
2) DAC
3) class.DBI
4) Muze Abstract DB
5) DIOW

Так что выбор относительно большой.
Вот статья по adoDB, но мне она сразу не понравилась с этапа установки, там расписано как подключить полный пакет, а нам бы в разных случаях не хотелось лишнего кода к проекту подключать...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
Topic Starter сообщение 14.11.2009, 8:23; Ответить: sc2r2bey
Сообщение #3


Подскажите как реализовать функцию для работы с БД, т.е. чтоб она выполняла стандартные операции типа SELECT INSERT UPATE DELETE просто не пойму как будут обрабатываться таблицы у которых разная структура и названия полей, спасибо!


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 16.11.2009, 1:09; Ответить: ZiTosS
Сообщение #4


sc2r2bey, вопрос не понятен. На примере одного из классов или что?

А вообще я бы по вашему вопросу ответил так: "Юзайте в PHP mysql_query() она как раз подходит"
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 17.11.2009, 11:27; Ответить: gaaarfild
Сообщение #5


Я думаю, он имел ввиду, чтобы в разных СУБД использовать MySQL, а класс чтобы сам определял, какая СУБД и сам переделывал запрос под нее, я правильно понял?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 17.11.2009, 11:35; Ответить: ZiTosS
Сообщение #6


gaaarfild, сам-то понял что сказал? СУБД - система управления базами данных, которой и является MySQL. А теперь прочти и скажи, чем же ты там собрался управлять:
... чтобы в разных СУБД использовать MySQL ...

Я так понял ты имел ввиду БД? Тогда если ты подключился к серверу, к таблицам можно обращаться так в запросах:
dbName.tableName
И тогдо даже нет надобности выбирать БД с помощью mysql_select_db()

Если ты имел ввиду использование разных СУБД, например postgreeSQL, MySQL, MSSQL и так далее, через один интерфейс, то это уже совсем другое.

Так вот я и пытаюсь узнать у sc2r2bey, что он имел ввиду.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
Topic Starter сообщение 17.11.2009, 12:31; Ответить: sc2r2bey
Сообщение #7


ограничемся пока MySQL
например при обращении к БД пишется запрос

[php]$sql = "SELECT * FROM table";
$select_table = mysql_query($sql);[/php]
ну и так далее
и так при каждом запросе и с разными таблицами,
я подумал можно вынести это в функию, передавая необходимые параметры, что не плодить кучу кода :)


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 17.11.2009, 14:20; Ответить: ZiTosS
Сообщение #8


Ну допустим классы используют подобную модель. Там просто передаются параметры в функцию в качестве массива к примеру
[php]$query = array(
"what" => "SELECT",
"fileds" => array(
"pole1",
"pole2"
),
"table" => "table",
"order_by" => array("fields" => array(...), order => "ASC"),
"limit" => array(0,10)
);

dbOblect->methodName($query);[/php]

Это пример простейший, структуризация запроса зависит от тебя. Какие передавать параметры в массиве а какие нет зависит от тебя. Метод при обработке массива будет проверять входящие данные и формировать строку запроса. А затем просто выполнит запрос и вернёт результат. Результат может из себя также класс со своими методами(обход ресурса, сборс ключа, сколько всего записей и тд)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
Topic Starter сообщение 17.11.2009, 14:43; Ответить: sc2r2bey
Сообщение #9


ааа опять классы :)


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
gaaarfild
gaaarfild
сообщение 17.11.2009, 16:29; Ответить: gaaarfild
Сообщение #10


Да мне кажется, меньше кода не получится. И так уже все до минимума сокращено же. Не особо длинно получается.

2ZiToss

Я понял, что сказал. =)
Пишешь на MySQL, переводит в PostgreSQL, или Oracle, или еще что там есть. Я так понял поначалу.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Партнерская программа для Эзотерики, Магии, Таро
партнерка для эзотерики
0 LiveExpert 137 Сегодня, 15:13
автор: LiveExpert
Открытая тема (нет новых ответов) Партнерская программа для Эзотерики, Магии, Таро
партнерка для эзотерики
0 LiveExpert 132 Сегодня, 15:13
автор: LiveExpert
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыAzinomoney.com - гемблинг-партнерка с 65%RS для каждого
Гарантированный заработок на гемблинг-трафике
65 AzinoMoney 29163 Вчера, 19:10
автор: AzinoMoney
Горячая тема (нет новых ответов) Делаю полностью уникальный дизайн для сайтов!
46 AlexDIZ 93440 26.3.2024, 20:03
автор: AlexDIZ
Открытая тема (нет новых ответов) Большие ставки для кликов в Я.Директ. Как удешевить?
2 rownong27 1116 26.3.2024, 14:13
автор: knezevolk


 



RSS Текстовая версия Сейчас: 28.3.2024, 15:58
Дизайн