Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Конструктор запросов.
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 6 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 16 дней


Отсюда.

Нужна упрощенная схема конструктора запросов по принципу YII2, совместимая с mysqli и pdo. С возможностью расширения. Синтаксис оставим тот же, перечень методов согласуем отдельно.

Стоимость 3000 руб.


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 6 дней
Карма: 40




Могу предложить только идею

$sql = "
SELECT
username,
password
FROM
tbl_users
WHERE
id = :id
:limit
"
;
$queryBuilder->from($sql)->limit(1)->setValue('id', 1)->fetchRow();


$sql = "
SELECT
username,
password
FROM
tbl_users
WHERE
:where
:limit
"
;
$queryBuilder->from($sql)->limit(1)->setWhere(array(
'id' => 1
)->fetchRow();

Смысл идеи, запросы все также пишутся текстом, но есть всякие хелперы которые помогают нивелировать различия между базами данных и упростить работу.

Идею надо дорабатывать, но скажу, что на работе я использую что-то подобное для кастомных запросов, только в еще более упрощенном варианте


$q = "
SELECT
username,
password
FROM
tbl_users
WHERE
:where
LIMIT
"
;
$sql = strtr($q, array(
':where' => implode(' AND ', array(
'id = ' . dbQuote(1),
'deleted = 0'
))
));

$row = dbGetRow($sql);


Что бы такое трешак по системе не расползался, я внедрил Query object'ы, в которые эти запросы инкапсулированы. Получилось что то вроде такого


$query = QueryFactory::get('Accounts', 'GetTopModified');
$query->setPeriod('-7 day');
$row = $query->fetch();


При этом внутри объект, вручную склееный запрос. Удобно.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
twin  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Глухой нуб
******

Профиль
Группа: Администратор
Почтальон группы
Сообщений: 15562
Пользователь №: 6543
На форуме: 8 лет, 2 месяца, 6 дней
Карма: 299

Трезвый :
5 лет, 11 месяцев, 16 дней


Спасиб, рассмотрим. smile.gif


--------------------
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Зачем ворошить старое, когда можно наворотить новое?

user posted image
PMСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса