Web-GUI для управления БД-запросами

mikhailt

Новичок
Web-GUI для управления БД-запросами

Есть несложная база данных (дюжина таблиц).
Необходимо дать возможность пользователям, вообще незнакомым с SQL, строить запросы к базе через некий удобный GUI.
Система должна также давать возможность пользователям управлять запросами:
- запоминать построенные запросы (но не результат из БД)
- редактировать запомненные запросы
- удалять запросы
Все должно работать через Web-интерфейс.

Есть ли что-либо подобное? Какие-либо фреймворки/API/библиотеки для PHP5 делающие это?
 

Фанат

oncle terrible
Команда форума
В этом форуме есть раздел "Ищу готовое решение".
Бежать туда не надо - модератор переместит сам.

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

-~{}~ 05.02.07 13:15:

Кстати, существует вероятность, что на самом деле задача совсем не такая, как написано.

Классический пример - жёсткое требование заказчика "все файлы должны храниться только в базе данных". при бьлижаёшем рассмотрении оказывается, что базой данных называется не СУБД, а вся система в целом, а жёсткость требований происходит от старой системы, которая была построена на СУБД Абсцесс, и позволяла вместо файла засунуть линк не него, а файл оставляся на компе юзера. который выключался, стирался, итеде...
 

mikhailt

Новичок
Panchous
>> написать удобный ГУИ

Дайте мне пожалуйста пример такого GUI. Картинку.
Дополнительная сложность, что критерии запросов должны быть гибкие, в базу добавляются новые свойства по которым будет делаться поиск.

Фанат,
>> В этом форуме есть раздел "Ищу готовое решение".
Можно и так сказать. Не люблю изобретать велосипеды.

>> Правда, большой популярностью тот раздел не пользуется.
Это "радует"...

>> Кстати, существует вероятность, что на самом деле задача совсем не такая, как написано.
Задача такова как она описана.
Более подробная детализация несушественна.

Ho kонкретно, база содержит материаллы (в основном сплавы металлов), сплав имеет порядка 25 свойств по которым может осуществляться поиск (формула,твердость,жетскость,темп-ра плавления и т.д.). Количество этих свойст постоянно расширяется. Пользователи базы - научные работники которые слыхать не слыхивали слов "база данных","запрос" и т.д. Для них понятнее слова "фильтр", который фильтрует информацию. Они хотят чтобы система помнила их личные "фильтры", редактировать их, обмениваться ими.

Спрошу еше проще. Давайте без редактирования запросов для начала.
Как сохранить запрос к БД для позднего использования? В каком виде?
 

mikhailt

Новичок
О!
а я-то думал на желтом листочке написать и на монитор приклеить
 

Фанат

oncle terrible
Команда форума
mikhailt
Если речь пойдёт не о поиске готового решения, а о реализации, я перенесу обратно.

Вообще, задача-то (во всяком случае, без сохранения и обмена) - стандартная.
во всех сайтах по сутенерству недвижимострю применяется. у меня даже готовй код есть для ответовна форуме,
PHP:
$w=array();
if (!empty($_GET['rooms'])) $w[]="rooms='".mysql_real_escape_string($_GET['rooms'])."'";
if (!empty($_GET['space'])) $w[]="space='".mysql_real_escape_string($_GET['space'])."'";
if (!empty($_GET['max_price'])) $w[]="price < '".mysql_real_escape_string($_GET['max_price'])."'";
который составляет запрос из многовариантной формы.
Хранить можно в чистом виде- SQL. Если не редактировать, то прокатит.
 

mikhailt

Новичок
Автор оригинала: Фанат
mikhailt
Если речь пойдёт не о поиске готового решения, а о реализации, я перенесу обратно.
Был бы весьма благодарен, ибо этот раздел форума как "затерянный мир".
:) я реализую, если еще не готово. Но хочу уже готовое естественно. Поскольку мое кредо: программист должен быть ленивым.
Кроме того времени мало, на проект есть всего 120 рабочих часов (оплаченных).

Автор оригинала: Фанат Вообще, задача-то (во всяком случае, без сохранения и обмена) - стандартная.
во всех сайтах по сутенерству недвижимострю применяется. у меня даже готовй код есть для ответовна форуме,
который составляет запрос из многовариантной формы.
Именно что стандартная. Усугубляется лишь большим и растущим количеством свойств - критериев поиска.
Кстати спасибо за код. Низкоуровневая техника из него понятна.

Автор оригинала: Фанат Хранить можно в чистом виде- SQL. Если не редактировать, то прокатит.
Редактировать надо. Это требование. Перспектива парсить сохраненный SQL выглядит весьма унылой.
Тут надо в обход.
Например список свойств, как критериев поиска, должен храниться отдельно, чтобы ГУЙ (формы для заполнения) создавалася на основе этого списка. А запрос описывать kak структурy из этих свойств с конкретными значениями.
 

hermit_refined

Отшельник
эх, а это ведь один из тех редких случаев, когда имеет смысл Query Object в чистом виде.
если есть склонность, интерес и мотивация, можете покопаться в различных ORM, выудить его оттуда, и обтесать под свои потребности.
но с кредо "программист должен быть ленивым" далеко не убежать, увы.
 

mikhailt

Новичок
hermit_refined
Порекомендуйте пожалуйста какой-нибудь хороший ORM для php5.
А то их так много, что не знаю за что хвататься. Хорошо бы еще с припаянным ГУИем.

Propel?
Но помнится (я его последний раз видел года два назад) он меня смутил тем, что там надо сначало определить BD в XML, а потом он сам эту базу создаст(!) непонятно каки образом. В общем мне показалось там телега поперёд лошади стоит.

Мотивация есть, ~4к$ :) так надо поработать маленько.
 

hermit_refined

Отшельник
рекомендуется воспользоваться поиском :)
тем более, что лично у меня ни к одной существующей душа не лежит, а собственная концепция еще не совсем созрела.
(а когда созреет - в ней не будет Query Object ;-) )
 

mikhailt

Новичок
фантазируем дальше.
Пока нарисовалась такая простая картинка:

Обьект {
список<Свойство>;
}

Свойство<Тип_свойства> {
строка имя;
Тип_свойства значение;
}

Имеется также Список_Всех_Свойств.
По нему и генерится GUI для форм и далее запрос.
Надо добавить новое свойство - добавляем туда, мотор сам добавит новые поля в GUI и перегенерит запросы.
Запрос сохраняется как список<Свойство>;

Для сложных типов свойств (перечисляемые типы или например е-майл) естественно:
Тип_свойства {
строка имя;
операторы.......
}

Операторы для работы над Тип_свойста: равно,неравно,больше,меньше,между. По необходимости определим новые.
Для новых сложных типов перегрузить (кстати в php уже сделали перегрузку операторов?)

Опишем пример обьект:
Свойство<целое> длинна = 10;
Свйство<строка> цвет = "синий";
Обьект кубик(список[длинна,цвет]);

Опишем запрос как структуру данных:
список<Свойство>

Пример запроса:
{
цвет оператор_равно "синий"
длинна оператор_больше 9
}
 
Сверху