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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) ВНИМАНИЕ: OnClickA - надежная рекламная сеть для вебмастеров и рекламодателей 🔥 Монетизируй любой трафик 🔥
Выкупим весь твой трафик. Повышенные выплаты для топовых паблишеров &#
6 OnClickA 1936 Вчера, 17:15
автор: OnClickA
Открытая тема (нет новых ответов) ✅ sms.chekons.com - ⭐ Сервис для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" ⭐
Сервис для получения SMS на реальные номера USA
9 Chekon 3365 Вчера, 13:24
автор: Chekon
Горячая тема (нет новых ответов) AviTool - мощный инструмент для автоматизации работы с Avito
90 Shadow 76510 15.3.2024, 22:07
автор: Shadow
Открытая тема (нет новых ответов) Получение гос. гранта для IT сферы
2 metvekot 932 15.3.2024, 11:08
автор: Skyworker
Открытая тема (нет новых ответов) Имитация работы залог успеха?
15 metvekot 1119 15.3.2024, 10:37
автор: Skyworker


 



RSS Текстовая версия Сейчас: 19.3.2024, 6:46
Дизайн