0 / 0 / 0
Регистрация: 09.03.2016
Сообщений: 2

Select - Option - одинаковые значения в списке

09.03.2016, 17:50. Показов 1997. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день форумчане
Возникла необходимость создать некий список при помощи <select> <option>

и того получилось
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<select name="mkodir1" style="width:100%">
<option value='0'> НЕТ </option>
<option value='<? echo "$mkodir1" ?>'
<?php if ($_SESSION['mkodirfin'] == "$mkodir1")
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir1" ?> USD</option>
 
<option value='<? echo "$mkodir2" ?>'
<?php if ($_SESSION['mkodirfin'] == "$mkodir2")
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir2" ?> USD</option>
 
<option value='<? echo "$mkodir3" ?>'
<?php if ($_SESSION['mkodirfin'] == "$mkodir3")
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir3" ?> USD</option>
 
<option value='<? echo "$mkodir4" ?>'
<?php if ($_SESSION['mkodirfin'] == "$mkodir4")
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir4" ?> USD</option>
 
<option value='<? echo "$mkodir5" ?>'
<?php if ($_SESSION['mkodirfin'] == "$mkodir5")
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir5" ?> USD</option>
 
<option value='<? echo "$mkodir6" ?>'
<?php if ($_SESSION['mkodirfin'] == "$mkodir6")
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir6" ?> USD</option>
</select>
 
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    $mkodirfin = $_POST['mkodirfin'];
}
?>
Но вот проблема:
Если значения "$mkodir1" "$mkodir2" "$mkodir3"- одинаковые (ну например равны 3) и то при выборе в меню первого пункта "$mkodir1", после подсчёта значений в <input type="submit" value="Посчитать" /> пункт сваливается на последнее значение в списке со значением 3 - тоесть у меня в списке выбранным светится не $mkodir1 а $mkodir3 как последняя переменная со значением 3
Подскажите как сделать так чтобы скрипт сам не смещал выбранную строку а оставался на той которая была выбрана пользователем?

Можно конечно сделать по-другому
в value вместо значения переменной сделать что-то другое а потом на основе этого присваивать значения - например так:

PHP
1
2
3
<option value='mkodir1' <----- тут как видите уже не переменная а просто некое значение
<?php if ($_SESSION['mkodirfin'] == "mkodir1") <----- тут как видите уже не переменная а просто некое значение
                  {echo "selected='selected'";}?>> Кодировка - <? echo "$mkodir1" ?> USD</option>
а далее в скрипте подсчёта пишем:
PHP
1
2
3
4
5
if($_SERVER['REQUEST_METHOD'] == 'POST'){
        
    if ($_SESSION['mkodirfin'] == 'mkodir1'){
        $mkodirfin = $mkodir1;
    }
но это не красиво и так придётся делать для каждого значения option-value

Можно ли сделать красивее?

Добавлено через 8 минут
Да уточнение - через сессии сделано чтобы после нажатия кнопки ПОСЧИТАТЬ, таблица оставалась заполненной - вот тут косяк, описанный выше, и возник
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.03.2016, 17:50
Ответы с готовыми решениями:

Подстановка значения из бд в select-option
Добрый день. Подскажите пожалуйста, гугл не помог( Не могу понять как сделать подстановку значения из бд в select-option. В обычный...

Передача значения переменной в <select><option>
Добрый день! Передо мной стоит задача: В сроку вводится значение N. После нажимается кнопка. При нажатии, создается элемент...

Выборка нужного значения <select> <option>
Ребят, возникла такая проблема, на сайте есть 2 товара, не получается написать код, чтобы в сообщении получателю отправлялась нужная цена....

2
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
09.03.2016, 18:24
Ничего не понял, какая-то заумная система. Если нужно 2 значения, всегда можете массив передать
PHP
1
<option value='<?= json_encode( array( 'SelectID' => '1' , 'value' => '3' ) ) ?>'>
Потом делайте json_decode и обращаетесь к нужному индексу
0
0 / 0 / 0
Регистрация: 09.03.2016
Сообщений: 2
10.03.2016, 09:48  [ТС]
Поясняю
есть список переменных со значениями:
$mkodir1 = 3
$mkodir2 = 3
$mkodir3 = 3
$mkodir4 = 7
$mkodir5 = 8
$mkodir6 = 10

эти переменные должны передаваться через выпадающий список который я привёл выше и ЗАПОМИНАТЬСЯ и НЕ СБРАСЫВАТЬСЯ после нажатия кнопки ПОСЧИТАТЬ в конце формы (есть форма из кучи таких же выпадающих списков и есть формула подсчёта)
так вот из-за того что есть одинаковые значения переменных, не удаётся сделать так чтобы выбор отображался правильно так как таблица отображает ПОСЛЕДНЮЮ строчку со значением 3 после подсчёта (в нашем случае $mkodir3) даже если я выбираю $mkodir1 или $mkodir2 в выпадающем списке

никакие вариации с Java я использовать не хочу - только PHP

Добавлено через 14 часов 3 минуты
Есть вариант через array но там вылезает другая проблема
сейчас когда я использую банальное перечисление option, я могу для каждой строки написать свой текст перед выводом переменной, а если использовать array то как привызать текст к каждой переменной?

В случае перечисления как видно из примера выше - текст перед переменной "Кодировка -" (на самом деле он может и должен быть различным) - как привязать различные тексты к переменным в array я не знаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2016, 09:48
Помогаю со студенческими работами здесь

Как правильно вставить значения столбцов из БД в select >option?
//соединение с базой данных $db = new mysqli(&quot;localhost&quot;, &quot;f111&quot;, &quot;Q1111111q&quot;, &quot;f111&quot;); if (!$db) { echo &quot;Сбой&quot;; ...

Как сделать вывод определенного контента при выборе значения <option> из <select>
Попытаюсь объяснить понятней :) Хочу реализовать такой тип вывода контента, когда пользователь выбирает из выпадающего списка (черех html...

Enum в <select><option></option></select>
БД: 'tbl' Таблица: 'month' Внутри столбец &quot;caption&quot;, который имеет тип enum и хранит названия месяцев: &quot;январь&quot;,...

Появление окошка input при выборе в списке select какого-нибудь значения
Здравствуйте!Подскажите ,пожалуйста, с php только начал обучение. Можно ли сделать так, чтобы при выборе в списке select какого-нибудь...

Select option
Есть select option Если клиент выбрал определнные пункты, то как обработать информацию? &lt;select multiple=&quot;multiple&quot;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru