Как лучше организовать обмен данными между страницами и их вывод на главной?
Прежде всего большое всем спасибо за помощь и пинки. И с PDO малость познакомился, SASS внедрил по полной, разве что с Grunt так и не подружились, но уже знаю куда сейчас прилеплю - в целом здорово все оптимизировал. Спасибо.
Но осталось два нерешенных вопроса. Принципиальных, пожалуй, на понимание.
Не раз обращал внимание на совет отделить зерна от плевел, а именно php от html и т.д.
И теперь поймал себя на мысли, что не понимаю как лучше организовать первичный вывод данных из БД.
Дано:
1) основная html страница - каркас админки - форма для заполнения данных, подключенные стили, js плагины и скрипты.
2) файл с функциями - update, delete, insert
3) обработчик, к которому я подключаю файл с функциями и посылаю ajax запросы - вставить, удалить и т.д. (получился ттт вообще красивый файл - просто его подключаю ко всем проектам и только меняю название бд и таблиц.)
Так и возник вопрос... а где делать выборку данных и их распечатку... таблица весьма сложная
Решение вроде бы на поверхности - но тогда получается, что не следую совету отделить php от html. Вероятно я не правильно их интерпретировал.. Да и просто загнался за эти пару недель...
1) Основной файл...Тогда изначальная страница выглядит примерно так...
подключаем все стили и js
<? php подключаю файл с функциями и коннект к БД - делаю выборку...
2) Отправляю в handler запрос на Select.. получаю обратно json массив данных.. если бы можно было сделать $data(php) = var data (js), то вообще бы вопрос не стоял)) но так нельзя...
3) сделать третий файл - который бы .. что делал? тоже бред..
далее я.. в общем я запутался.. просто раньше не заморачивался - и все лепил в одну кашу... и ведь все работало и всегда и везде.. а тут решил все "по науке", которой сильно уж не обучен...
чем плох вариант 1? и как корректнее организовать обмен данными?
Анатолий K: похоже dk-web дорос до рефакторинга. если проект такой универсальный может выложит на github? подключимся посмотрим... вообще было бы не плохо начать документацию и желательно со структуры файлов, добавление комментариев к основным блокам, выделение похожих сценариев использования - для определение пакетов и классов... ну если уж этого хочется... а так действительно цель не поянтна, работает - не трогай
Анатолий K: ну наконец то встретили) вопрос простой. есть index.php есть handler.php - в каком из них делать SELECT * FROM table и потом while не не настанет конец света - echo
Равшан Абдулаев: Равшан, точно не дорос... я пока только про конкатенацию почитал да PDO))
я делаю самую простую админку... даже обычный скорее модуль ее - обработчик формы ввода данных, и управления таблицей в БД и
Анатолий K: спасибо за отклик - про запрос то понятно - а дальше? в нем же и "распечатывать" и возвращать $(table).html(data)? или вернуть просто массив и уже как-то извращаться в основном файле.. правда затупил(
dk-web: смотря что вы планируете получать от серверной части... если data - это уже html, т.е. фактически все основные процессы у вас происходят на сервере (php), клиентская часть(jQuery) используется только как транспорт. Но если вы хотите чтобы серверная часть отдавала данные в виде json или xml или другой вариант, но главное что они чистые, не форматированные данные, сообщение об ошибках. Тогда клиентская часть должна уметь форматировать и обрабатывать ошибки. Вы должны выбрать какой-то вариант и придерживаться уже этого варианта в дальнейшем... такой коммент помог? или что вы ждете? P.S. не исключаю, что существуют и другие варианты, предлагайте подумаем вместе.
Mr. Robot: почти блокнотом) ну в смысле sublime
спасибо за отклик но видимо я не правильно сформулировал задачу-проблему... Ильдар Хазиев: архитектура самая самая примитивная) - сегодня доделаю, что имею ввиду - закончу модуль и покажу
Ильдар Хазиев: напротив! освоился и очень зауважал) просто это инструмент... вряд ли среда.
я почти закончил свой супер-мега-бред... голова взрывается, остались последние штрихи.. Mr. Robot, Равшан Абдулаев, Анатолий K сможете прокомментировать? мой труд в ночи удалили модераторы... может подскажете ресурс, где можно выложить свою разработку для комментариев - а не в порядке конкретного вопроса, как здесь, видимо, принято?)
Mr. Robot: мерси.. я клинический идиот... сутки угрохал.. можно сказать что впустую - нет... конечно оно работает на 95% и самописно практически... но есть более простое решение... так что завтра теперь видимо(
появилась бяка в виде "["
↵surname=петров", "country=Уганда"] - вот эта каретка, энтер - не пойму откуда берется.... а в остальном шик-блек-красота и гордость) но идиотизм.. вот такой вот парадокс... учусь(
требуется подключение к БД... примерный дам приложил.
вряд ли вы конечно этим будете заниматься, но вдруг.
мне важно понять насколько колхозен мой колхоз, но еще пару недель о таком я и мечтать не мог..
п.с. я специально не задействовал потенциал jquery table.. там уж слишком мореная документация( сейчас буду, скорее всего разбираться, но для моих нужд пока и такого варианта с головой...
функции я постарался написать используя PDO (как смог) - здесь все настаивали на необходимости перехода...
jquery раньше мог только .html(data) и alert...
буду признателен не только за "удали это и не позорься", но и конструктивную критику и советы простыми словами... а то, порой, хочется бросить это все дело, когда почитаешь спец. форумы.
извините, что так много букав)
да... в чем задача была? грубо говоря - сделать систему управления контентом - как можно более универсальным - регистрации (фото), блоки с проектами (лого). чтобы можно было включать и снимать - функций будет больше - не только скрыт и активен - допущен, отклонен и т.д.
Mr. Robot: там пара файлов с сотней строк и есть... а архив - просто, чтоб все визуально сложилось... ссылку и правда кривую дал, но и к лучшему.. за ночь все переписал... но все равно спасибо за отклик
Ильдар Хазиев: Ильдар Хазиев: так с нее все и пошло) разбирал очень симпатичную binary - в общем я все переписать. https://drive.google.com/file/d/0BxRag0FeNedKQ0xPQ...
очень мило получилось - я доволен.
но начудил с подключениями - видимо не правильно использую... new pdo - на хостинге сразу заблокировали...
User 'u848107404_dk' has exceeded the 'max_user_connections' resource (current value: 3)'
буду признателен за комментарии
Neoline: спасибо за комментарии! ну то что ооп нет я уже понял((( просто синтаксис использовал, а так процедурный стиль... от HTML вроде старался по максимуму избавиться... просто index и htaccess даже не задумывался, ибо выложил просто для доступа.. вот с конфигом я видимо и намудрил - кажется, что слишком много коннектов к бд - иначе почему падает конструкция через 20 секунд не пойму( про json_encode принял - там есть еще места, где чистить нужно повторы... вчера было еще хуже - буду двигаться дальше. еще раз спасибо!
Neoline: вот это верно... но все равно хотелось бы развиваться - три недели назад о таком я и не думал....
п.с. уже внял советам- jsonы и повторы убрал... но вот по поводу html - я по максимуму же его убрал- остались только блоки управления - span и кнопки.. вот в упор больше не вижу.
Ошибки группирую, а не печатаю как раньше.. то есть вывод один. Я бы и рад их убрать вовсе, но этот плагин с таблицами - я уже пожалел, что с ним связался - самому можно было бы такой функционал написать проще - все равно весь потенциал я никогда не потяну. да и не нужен он...
Neoline: последний раз побеспокою по этому поводу... читаю книжку Мэтта Зандстра Php .... весьма понятно, но до определнной степени. Дальше я пока к такому видимо не готов... переписал все еще раз ideone.com/rKiriD ideone.com/NnAhdy
если и это не то.. то я уже и правда не знаю.
Вот весь кайф от этого я получил только в одном месте... когда вместо return я дозаписал два свойства в класс и использовал в следующей функции - вот это было круто! в остальном - ну может быть)
Neoline: но даже не в этом плюс - я теперь совсем по-другому читаю мануалы к различным плагинам/библиотекам - многое стало понятно! спасибо за пинки в нужном направлении
Neoline: пинал в хорошем смысле этого слова))) вынесу.. это пока для удобства. Но все равно у меня затык конкретный - опять "начитался"... геттеры, сеттеры - написал вопрос, но удалил... обещал, что последний раз.