|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
22.07.2010, 19:03 | #1 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Редактирование многих строк
Нужно сделать редактирование и создание строчек с некоторыми записями пользователя. По-моему, таблица должна выглядеть так: id записи, имя пользователя, запись. Вообще-то вместо записи должно стоять много столбцов, которые заполняет пользователь, но мы их пока сократим до одного. Насчет вывода все понятно. Далее представляю алгоритм редактирования. Мне надо вывести неограниченное число столбиков, в котором содержатся ячейки строки, а каждый столбик представляет собой целую строку. Все данные должны отправляться в скрипт на обработку без применения отдельных кнопок. Сначала я получаю все ячейки, в которых хранятся записи пользователя и вспомогательные данные к ним. Затем вывожу столбики с помощью таблицы, лупа в ней и столбиков таблицы в лупе. Теперь надо придумать, как сделать названия элементов формы. При разрешении этой проблемы (которое смутно, так как я хочу спать, представляется мне в том, что надо как-то добавить id в имена группы элементов, а потом сделать в php foreach перед запросом в бд). Потом "Добавить новые данные", if->java-> +1 elements_group, но с их названиями надо уже что-то придумать, так как id у предыдущих данных может быть разупорядочено вследствие их частой удаляемости, а в таблице стоит AI.
В итоге должна получиться страница, где выводится заполненные группы элементов, текстовых полей, которые можно все редактировать, потом отправлять одной кнопкой, а в бд занесутся либо старые значения, либо измененные. Предложите, каким способом это еще можно реализовать, а если мой не такой уж и запутанный, то помогите мне с моим способом. |
22.07.2010, 19:31 | #2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
Эээ, но почему бы не сделать таблицу записей
date | title | краткая инфо | копочки для редактирования В кнопочках можно проделать такие фичи, как изменение позиции, редактирование и вставка новой записи. Юзаем ajax и все будет очень красиво и быстро Когда жмем редактировать запись, то появляется окно(jquery) с формой куда уже занесены данные записи которую редактируем. И еще, про smarty слыхали? $smarty->assign('records',$records); потом в template {foreach from=$records item=$curr> <td>{$curr.title}</td> <td>$curr.info</td> <td><a href='javascript:add({$curr.id},'{$ curr.title}','{$curr.info}')'>Добав ить</a></td> </foreach> Ну а потом в функции присваиваем значения соответствующим полям на форме и устанавливаем action для формы: .action="records.php?id="+id+"&edit =Y"; ___ PS: По крайне мере я так всегда и делаю =) |
23.07.2010, 03:40 | #3 | |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Сломал глаза! Верните мне мои три минуты жизни! (((((
Цитата:
В базе данных не может быть неограниченное количество столбцов. Если вы пытаетесь это реализовать - ваша идея ошибочна (либо она революционна и вы перевернёте всю теорию с ног на голову и докажете всему миру, что списки можно строить горизонтально, но я почему-то в этом сомневаюсь). Хотя... может я что не так понял в этом борще букв... Тоже может быть... З.Ы. для работы с HTML формами не забываем, что есть такая вещь как массив, так что все столбики фактически можно запихнуть в один массив. <input type="text" name="massiv[]" ... />
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Последний раз редактировалось Johnatan; 23.07.2010 в 03:43. |
|
23.07.2010, 13:44 | #4 | |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
PHP код:
Суть объясню по-другому. Есть таблица с пользователями. Но я создаю отдельно таблицу, куда включены, например, занятия пользователя. Ну, простейший случай примера, в профайле нужно видеть занятия пользователя в течение дня, например, "6-00 - встаю, 8-00 - умываюсь 9-00 - ложусь спать". В данном случае я создал бы две колонки в таблице, которые редактирует пользователь и 2, по которым можно сказать, что событие именно это и что оно принадлежит данному юзеру (id и username). Чтобы просто вывести, я беру массив значений первых двух столбцов, где имя пользователя = sessionuser и вывожу loop'om. Я уже сделал это, но таблица все-равно пустая. Чтобы ее заполнить, нужно вставить туда эти две строки и автоматически добавить имя пользователя. Если пользователь просто будет добавлять в таблицу только по одной строке, то нужно написать form post, insert name='строгийтаймнэйм', insert name='строгийевентнэйм'. А потом принять строгие переменные, сделать INSERT. Но мне надо так: пользователь заходит, записей с его именем нет (проверилось) -> на странице вывелся только один массив из двух текстовых областей, кнопка "Добавить еще две текстовых области" и субмит. Под массивом я далее понимаю группу инсертовых полей (в примере их 2). При нажатии на "Добавить еще две текстовой области" массива становится два, пользователь может разом создать сразу две строки в бд. Потом пусть он добавил данные. Тогда они выводятся на той же странице редактирования в виде разделенных массивов, заполненных значениями из бд, + выводится пустой массив, заполнив который получим одну новую строку. Ну если и сейчас это трудночитаемо, то есть готовый пример: добавление мест, образований и тп во вконтакте. Не знаю даже, с чего начать=) Цитата:
Последний раз редактировалось Krasi; 23.07.2010 в 13:52. |
|
23.07.2010, 16:08 | #5 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Я сломал глаза ещё на предыдущем посте, так что я ничего не вижу и печатаю вслепую. Прошу прощения, что не могу помочь.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
26.07.2010, 21:24 | #6 |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
|
27.07.2010, 20:37 | #7 |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Совсем коротко и сердито: нужно сделать так, как тут: http://vkontakte.ru/editProfile.php?act=addresses
|
27.07.2010, 23:46 | #8 | |
Laravel/Vue expert
Старожил Подтвердите свой е-майл
Регистрация: 08.08.2007
Сообщений: 2,832
|
Цитата:
|
|
28.07.2010, 01:29 | #9 | ||
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Цитата:
Тип: Страна: Город: Улица: Номер дома: Название: Период с по Вот и всё.. Всего 8 столбцов. Очень даже ограниченная цифра. Я бы сказал, что это ПРОСТО ОБЫЧНАЯ HTML ФОРМА. Не вяжется с ТЗ Цитата:
З.Ы. О да, я зареган на вконтакте! О да, я посещаю его как минимум раз в неделю! Я больной человек, мне можно!
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
||
28.07.2010, 13:15 | #10 | |
Форумчанин
Регистрация: 12.02.2010
Сообщений: 787
|
Количество полей, вместе обозначающих одно "место", ограничено, но тз в моей голове выглядит так, что нужно как раз добавлять неограниченное количество мест, а потом сохранять это неограниченное количество мест. Хотя это еще и с java, но php часть я тоже не знаю.
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сводная таблица данных из многих файлов Excel | Aleksandr-St | Microsoft Office Excel | 0 | 26.05.2010 13:48 |
У многих игр сейчас присутствуют клиенты, как организовать его? | The Best | Общие вопросы Delphi | 8 | 30.07.2009 20:34 |
Циклически задать однотипные параметры для многих компонентов единого класса | chandrasecar | Общие вопросы Delphi | 4 | 25.01.2009 00:18 |
Перенос данных из одной книги со многих листов в другую | gavrylyuk | Microsoft Office Excel | 34 | 20.07.2008 21:39 |
С паскалем как и у многих проблемы,прошу помощи. Две задачи: интегральная и графическая. | Loyal | Помощь студентам | 3 | 27.09.2007 09:46 |