С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 09.03.2016
Сообщений: 2

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

09.03.2016, 17:50. Показов 1990. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru