Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Универсальная форма добавления контента
Форумы портала PHP.SU » PHP » SQL и Архитектура БД » Универсальная форма добавления контента

Страниц (2): [1] 2 »
 

1. Snic - 21 Ноября, 2007 - 02:43:51 - перейти к сообщению
Нужно сделать универсальную форму добавления контента.
Первый шаг. (начальная форма)
PHP:
скопировать код в буфер обмена
  1.  
  2.  < select name="addToModule" ><option value="news" >...< /select>
  3.  


к примеру мы выбрали модуль "Новости" исходя из этого открываются дополнительные поля характерные этому модулю

Шаг второй (выбрали модуль / открылись дополнительные поля)
типа заголовок новости и т.д.

как такую фигню создать ?
2. valenok - 21 Ноября, 2007 - 03:07:09 - перейти к сообщению
Нужен путь?
Ну делаем список select модулей
(тут кстати подойдёт готовый скрипт ajax)

дальше в зависимости от выбранного модуля - подгружаем остальные поля. Где храниьт дополнительные поля? На записке приклееной к экрану, а базе, в переменной ..
А я бы создал для каждого модуля отдельный module_add_form.html
и его бы инклудил когда надо ..
3. Snic - 21 Ноября, 2007 - 03:17:56 - перейти к сообщению
Для каждого модуля не получится потому как пропадет универсальность скачайТЕ то что есть и посмотриТЕ базу и все поймеТЕ. ПОЖАЛУЙСТА
да и тут надо с ajax
а проблема в том что я это реализовать немогу я web дизайнер который хочет стать кодером учу php на примере пытаюсь написать cms меня уже жека научил некоторым моментам за что ему огромное спасибо.
а с делать эту форму у меня не получается
4. valenok - 21 Ноября, 2007 - 03:22:06 - перейти к сообщению
Мы давайте на словах - что такое универсальная форма?
\n\n(Добавление)
Не прогибайся под изменчивый мир, пусть лучше мир прогнётся под нас..
Как то так поётся.
Если не получится так как я сказал потому что вам лень переделывать базу, думайте дальше ..

Да и вообще что такое универсальная форма если для каждого моделя разные поля. А если те же поля то где проблема?
5. Snic - 21 Ноября, 2007 - 03:28:10 - перейти к сообщению
Мы не можем решить задачу добавления новой страницы с помощью одной формы. Потому что мы не можем заранее знать, какой модуль выберет пользователь. А именно это определяет, какую вторую форму мы ему выдадим.

При добавлении новой страницы сайта мы выдаем первую форму. Пусть этим у нас занимается функция add_page_first_form()
КакиеТО поля содержит эта форма..
В том числе и выпадающий список для выборки модуля



Обработчик этой формы -- функция add_page_first() добавляет в таблицу БД pages новую запись
INSERT INTO pages ( ... ) VALUES ( ... )
но оставляет поле settings пустым. (оказывается есть какоето поле там ..)Далле, поскольку мы уже знаем, какой модуль будет использован на этой странице (пусть, для определенности это будет articles) мы вызываем функцию add_page_second_form( $module ), которая выдаст пользователю вторую форму. Эта функция принимает в качестве параметра имя модуля.




Когда пользователь заполнит вторую форму и нажмет кнопку "Отправить" мы уже сможем заполнить поле settings в таблице pages. Эту задачу будет решать функция add_page_second().
6. valenok - 21 Ноября, 2007 - 03:33:51 - перейти к сообщению
Это не вы автор темы с serialize ?

блин
PHP:
скопировать код в буфер обмена
  1.  
  2. < select .. onchange="ajaxShmajax('NEWS')">
  3. --
  4. <?PHP
  5. if( ajaxShmajax ) { $module = $_GET['module'];
  6. echo "Вы выбрали модуль".$module."Вот, давитесь формой.. < input..>";
  7.  

7. valenok - 21 Ноября, 2007 - 03:35:45 - перейти к сообщению
Да и вообще, следующий раз впишите в своём сообщении
хоть какойто кусок кода, я себя ещё и модератором этого раздела назначу ..\n\n(Добавление)
Ух ты..
Ну ты загнул ..
Можно было просто выписку из словаря
А нужно было так:
Мне надо чотб одна html страница подходила для добавления новостей в в чёрт знает какой модуль.
8. Snic - 21 Ноября, 2007 - 03:42:13 - перейти к сообщению
ну так что поможеТЕ мне реализовать эту форму (add_content.php)
9. valenok - 21 Ноября, 2007 - 03:53:07 - перейти к сообщению
Как вы понимаете вот это:?

PHP:
скопировать код в буфер обмена
  1.  
  2.  < select .. onchange="ajaxShmajax('NEWS')">
  3.  --
  4.  <?PHP
  5.  if( ajaxShmajax ) { $module = $_GET['module'];
  6.  echo "Вы выбрали модуль".$module."Вот, давитесь формой.. < input..>";
  7.  
10. Snic - 21 Ноября, 2007 - 03:57:04 - перейти к сообщению
Спокойствие только спокойствие
Смотрю ВЫ разошлись ВСЕ отредактировали .... Эх слов нет

Ладно начнем с того что я с ajax не знаком.
11. valenok - 21 Ноября, 2007 - 03:58:33 - перейти к сообщению
начнём мы с того что вы ответите на мой вопрос
12. Snic - 21 Ноября, 2007 - 04:00:35 - перейти к сообщению
то что при выборе через селект
нам выводят на экран
Вы выбрали модуль"НОВОСТИ"Вот, давитесь формой..
и тут форма пошла
13. valenok - 21 Ноября, 2007 - 04:00:54 - перейти к сообщению
Этого должно хватить чтоб справится с заданием .

AJAX (от англ. Asynchronous JavaScript and XML — «асинхронный JavaScript и XML») — это подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате при обновлении данных веб-страница не перезагружается полностью, и веб-приложения могут быть сделаны более быстрыми и удобными.\n\n(Добавление)
то что при выборе через селект
нам выводят на экран
Вы выбрали модуль"НОВОСТИ"Вот, давитесь формой..
и тут форма пошла

Такой подход годится?
Почему нет?
(Не дай бог ответ не уместится в форму ответа без прокрутки)
14. Snic - 21 Ноября, 2007 - 04:15:02 - перейти к сообщению
Годится!
ладно теперь заход с другой стороны а как реализовать форму чтоб добавлялось и в таблице pages и в таблицу с выбранным модулем? допустим в article?
потому что таблица pages у нас отвечает за меню сайта
если ВЫ мне обьясните как это сделать то тогда для меня становится все на свои места и я все понял
15. valenok - 21 Ноября, 2007 - 04:17:57 - перейти к сообщению
также как и вообще вы добавляете данные в базу.
подсказка: через mysql_queru

проблема в чём? Написать musql_query дважды?

 

Powered by ExBB FM 1.0 RC1