![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
andro_id |
|
||||||||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
Здравствуйте. Я новичок в PHP-программировани. Есть задача:
1. выбор из дроп-даун меню определенного значения, все возможные значения достаются из БД
2. В зависимости от выбранного значения, вставка в страницу соответствующей формы
Сама форма:
Однако, почему-то, добавление значений в базу не происходит, а только исчезает форма. Если убрать условие if (isset($_POST['do'])), тогда данны добавляются и по нажатию кнопки в форме и по выбору значения onchange="this.form.submit();" в первой форме. Вопрос: Как же сделать добавление ТОЛЬКО по нажатию кнопки в форме? Сделать так, чтобы после добавления значений в базу форма не исчезала, а лишь очищалась? Т.е. нужно чтобы формы не было только при первом посещении страницы, а потом висела та форма, которая последний раз была выбрана. База:
Это сообщение отредактировал(а) PARROT - 24.4.2007, 12:00 |
||||||||
|
|||||||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
andro_id, какие ошибки пишет?
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
andro_id |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
никаких ошибок. если стоит условие, после нажатия кнопки "Добавить" форма просто сбрасывается и на странице выводится только первый селект. Хотя я ставил проверку того, что передаётся в $_POST, все данные проходят, но мимо базы.
|
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
Такого не бывает:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
andro_id |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
Получаю Resource id #5 и никаких ошибок. А как сделать, чтобы форма не пропадала, а оставалась, но чистая? Сейчас после нажатия на кнопку Добавить происходит возврат к первому селекту, а формы нет. Чтобы форма снова появилась, нужно опять выбрать значение. Может тогда будет проще найти проблему?
|
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
http://www.mysql.ru/docs/man/Retrieving_data.html
Добавлено через 4 минуты и 15 секунд http://www.mysql.ru/docs/man/SELECT.html Добавлено через 6 минут и 33 секунды http://ru.php.net/manual/ru/function.mysql-fetch-array.php http://ru.php.net/manual/ru/function.mysql-fetch-assoc.php -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
andro_id |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
Я знаю как происходит выборка из БД. Отбросим пока вопрос с БД. Как сделать, чтобы форма висела всегда, кроме первого захода на страницу?
|
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
Если Вы обращаетесь по индексу поля, то Вам следует использовать
mysql_fetch_assoc -- Обрабатывает ряд результата запроса и возвращает ассоциативный массив. Добавлено через 5 минут и 10 секунд У Вас форма зависит от выбора из базы. А если из базы ничего не приходит, то и формы не будет. Разберитесь с базой, печатайте запросы и смотрите что за данные к вам приходят.
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
andro_id |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
После первого выбора значения в селекте я получаю соответсвующую форму. Т.е. переменная уже получена. Можно ли сохранить её и "протащить" через форму для заполнения по второму кругу? Чтобы если в первом селекте ничего не выбиралось, то осталась предыдущая форма. Или в данной реализации это невозможно и нужно придумывать что-то другое?
|
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
Думаю надо написать план действий, чтобы было понятно.
Добавлено через 2 минуты и 54 секунды По пунктам. -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
andro_id |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
Итак, план:
1. Первый заход - видим только первый селект, в котором выбираем тип оборудования --> выбрали(есть переменная $var, по которой) --> получам соответствующую форму 2. Заполняем форму(переменную $var держим в уме) --> жмаем Добавить --> данные ушли в базу(переменную $var держим в уме) 3. Возврат к началу страницы и т.к. переменная $var уже есть, открываем соответствующую форму. Т.е. избавляем пользователя от повторного выбора типа оборудования и вывода соответсвующей формы. Если нужно добавить 100 шт. однотипного оборудования, зачем каждый раз снова выбирать одну и ту же форму? Вот такая задумка. |
|||
|
||||
GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: -1 Всего: 32 |
а после записи в бд редирект делаете?
-------------------- ![]() ![]() |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 3 Всего: 50 |
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
andro_id |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
Вот тут поподробнее. Редирект не делаю, см. первый пост. Всё заканчивается этим
Как сделать? Это сообщение отредактировал(а) andro_id - 24.4.2007, 13:07 |
||||
|
|||||
andro_id |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 17.4.2007 Где: Москва Репутация: нет Всего: 1 |
Эта переменная $var не переносится из формы, которая вставляется инклудом, обратно в родительский php-файл. Т.е. сбой на этом этапе: 2. Заполняем форму(переменную $var держим в уме) --> жмаем Добавить --> данные ушли в базу(а переменная $var пропала) 3. Возврат к началу страницы и переменной $var уже нет --> $form="Форма не выбрана". Как быть? Если точнее: Как же пронести переменные из дочерней формы, обратно в родительский файл? Это сообщение отредактировал(а) andro_id - 24.4.2007, 13:41 |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |