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
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: как вывести из базы данных значения чекбоксов, селектов и т.п.
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
Здравствуйте, каким образом выводятся из базы данных значения чекбоксов, селектов и т.п.?
Значения сохранения из value т.е. имеет обычное слово, но не понятно как это слово сопоставить с списком и выделить его или чекнуть.
Кто имеет опыт, поделитесь. Спасибо.
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
OrmaJever
Отправлено: 27 Октября, 2010 - 20:47:58
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Чек боксы и селекты находятся на странице и приходят в масив $_POST причём тут база даных? В чём суть вопроса?
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
LEONeso
Отправлено: 27 Октября, 2010 - 21:14:12
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
В начале я отправил их в базу данных mysql. Не погу понять, как вывести их при редактировании записи, вывод текста в формы не составляет труда, а вот вывод выбора чекбокса и ли селекта я вот не знаю.
Единственное, что известно - это значение т.к. оно берется из базы данных. Сравнивать значения? У меня это может выйти огромной кучей кода из if-else.
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
Uchkuma
Отправлено: 27 Октября, 2010 - 21:22:06
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
в базе данных хранятся, только value выбранного option, для простоты вывода их в статический вид, но как только заходит речь о редактировании, я не могу сам себе ответить, как я это буду реализовывать, есть предположение о таком коде:
Мысли:можно не читать
по поводу запроса к базе данных из функции, собственно он даже не сможет узнать куда и зачем ему послать запрос, чтоб выдернуть значение ячейки таблицы. Как вариант, вывод запроса в переменную $delete=$myrow['delete']; правда там еще придется описать else, ведь переменная может быть пустой =) а пустая переменная - это значение по стандарту, ну в моём понимании кода, зачем выводить "С отмеченными:" в статическом виде записи. По крайней мере, оно мне не надо - это информирующий текст о выпадающем списке.
В качестве значения опций используйте целочисленный ключ или строку на латинице и его храните в базе. Если будете использовать строковый ключ, с соответствующими ключами создавайте элементы массива
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Uchkuma
Отправлено: 27 Октября, 2010 - 22:25:07
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
И, ради бога, пишите переменные без кавычек! (Добавление) OrmaJever, немного не то. У вас выведется лишь один option.
OrmaJever
Отправлено: 27 Октября, 2010 - 22:30:25
Активный участник
Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010 Откуда: Чернигов
Помог: 299 раз(а)
Uchkuma пишет:
OrmaJever, немного не то. У вас выведется лишь один option.
Я имел виду в каждую ячейку ложить весь селект. Ну вариантов может быть много
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
Uchkuma
Отправлено: 27 Октября, 2010 - 22:36:45
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
OrmaJever пишет:
Я имел виду в каждую ячейку ложить весь селект.
Круто!
Упрощать надо, упрощать! А у вас индокод получается =(
LEONeso
Отправлено: 28 Октября, 2010 - 20:28:28
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
спасибо всем, буду пробовать, спасибо даже за свитч, я про него вообще забыл, кейсы тож полезная штука в некоторых моментах
--
массивы фактически не использовал, теперь начну их использовать, возможно в будущем пойму, как их использовать с максимальной выгодой для упрощения кода.
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
Uchkuma
Отправлено: 28 Октября, 2010 - 22:44:52
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
LEONeso пишет:
спасибо даже за свитч, я про него вообще забыл, кейсы тож полезная штука в некоторых моментах
Вообще-то это одна конструкция ;)
LEONeso
Отправлено: 29 Октября, 2010 - 14:49:07
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
Помог: 1 раз(а)
схожая =) но там же не номер указывается, а название кейса. как я понимаю.
вот в данный момент стопарнулся на выводе этих списков, буду пробовать =) (Добавление)
Uchkuma пишет:
$key
Что есть $key? - сделал по аналогии, но не вышло. не работает список, не выводится верно. Верней, массив выводится верно, список верный, но не может выделить верно нужную строку.
Хотя требуется всего лишь сравнить данные из таблицы и данные в массиве и пометить селект.
Придется экспериментировать, методом тыка м.б. и получится спустя сотни ошибок.
----- Для некоторых лучший способ написать что-нибудь осмысленное - это сесть _опой на клавиатуру.
Uchkuma
Отправлено: 29 Октября, 2010 - 18:27:36
Участник
Покинул форум
Сообщений всего: 1539
Дата рег-ции: Март 2010 Откуда: Киров
Помог: 6 раз(а)
$key - это ключ элемента массива и соответственно значение <option>. Но если у вас значение элемента списка такое же, как и его заголовок, то используйте переменную $option вместо $key. Вообще-то это неправильно, поэтому я вас поправил. Читайте внимательней мой пост с примерами.
И switch-case тут не надо использовать. Не тот случай.
LEONeso пишет:
схожая =) но там же не номер указывается, а название кейса
В switch может быть указано как число, так и строка. Еще раз говорю, это одна конструкция, единое целое. Почитайте.
LEONeso
Отправлено: 29 Октября, 2010 - 19:39:58
Посетитель
Покинул форум
Сообщений всего: 499
Дата рег-ции: Янв. 2010 Откуда: Россия, Москва
где $key=>$name, (Добавление)
забыл написать, что все работает, пока еще не тестил упорно, но завтра при работе над всем кодом, буду смотреть, что там отпадёт при совместной работе с "радио точками" и чекбоксами.
Спасибо. (Добавление)
К стати ,если я вывожу массив с ключем, то получается так?
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.