2012-03-19 3 views
3

У меня есть бесплатное приложение, построенное на LAMP, и я создал около 10 общих отчетов для клиентов, которые можно использовать - проблема заключается в том, что меня все чаще просят создать заказные отчеты для клиентов, и это трудоемко и требует много времени.Разрешить пользователям создавать пользовательские отчеты через веб-графический интерфейс

Есть ли способ, позволяющий пользователям создавать свои собственные отчеты через веб-приложение? Я смотрел PHP Report Maker, но это клиентская установка, поэтому она может помочь мне создать эти настраиваемые отчеты, но не позволяет клиенту напрямую создавать свои собственные отчеты.

Например, у меня есть таблица, называемая предупреждениями - мой стандартный отчет позволяет пользователю выбрать человека из таблицы employee и создать стандартный отчет о мастере, в котором перечислены все данные в этой строке таблицы. Пользователи спрашивают меня, могут ли они выбирать, какие поля показывать, или если они могут фильтровать дальше и так далее, поэтому я хотел бы попробовать и дать им эту возможность.

Я бы хотел, чтобы они могли добавлять свои фильтры на основе полей в таблице, выбирать поля для отображения и изменять макет отчета - если это возможно!

Я не против платить за эту функцию, хотя я не хочу платить за коэффициенты, поскольку это бесплатное приложение.

+1

У меня было аналогичное требование и создано мое собственное - с помощью [jQuery sortable] (http://jqueryui.com/demos/sortable/) для выбора столбцов и [datatables] (http://datatables.net/) для форматирование моих выходных отчетов. Я использую фреймворк PHP (Symfony), поэтому база данных настраивается с использованием файла конфигурации, поэтому я могу легко разобрать его и показать в браузере выбранные столбцы и т. Д. Ничего не было «там», что было легко подгонять по моему требованию – ManseUK

+0

My проблема, как представляется, заключается в отображении только одной записи и в макете «без таблицы» - например, я хочу иметь возможность использовать макет, который позволит просматривать запись сотрудника для одного сотрудника на странице с информацией выложенная на всей странице, а не отображаемая в виде строки в таблице. – bhttoan

+1

Несомненно, дисплей - это легкая часть ... is 'count == 1 then layout = page else layout = table' .... – ManseUK

ответ

1

Да, вы можете это сделать, если вам удобно играть в коде.

Я создаю приложение службы поддержки, где я (в конечном итоге) дам пользователям возможность определять свои собственные пользовательские настройки, то есть дать им страницу, в которой говорится: «Какие столбцы вы хотите показать, когда мы покажем вам листинг открытых билетов ". Затем им будут представлены все варианты, и они смогут их проверить и заказать. Затем я сохраню эту информацию (скорее всего, как объект json) в своей пользовательской записи. Каждый раз, когда они загружают страницу, она проверяет свою запись, чтобы узнать, есть ли у них предпочтение, а затем отстроить SQL-запрос; если они этого не сделают, будет выполнен стандартный запрос.

Если вы не хотите, чтобы вы могли сохранить отчет, вы могли бы создать небольшой интерфейс, который бы сохранил их настройки в $ _SESSION, а затем либо перезагрузить страницу, либо использовать некоторые jquery, которые будут перезагружать страницу, проверьте переменную $ _SESSION, измените SQL-запрос на основе переменной и верните результаты на страницу.

Смежные вопросы