Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
#1

Переменная как имя select-a - PHP

03.05.2014, 18:05. Просмотров 481. Ответов 16
Метки нет (Все метки)

Добрый день Товарищи!
Подскажите как получить значение select если они создаются динамически и имя является переменной. (метод пост, если это важно.
http://www.cyberforum.ru/php/thread1481675.html
Если есть другие способы получить значение готов с радостью выслушать.
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2014, 18:05
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Переменная как имя select-a (PHP):

Сохранение значения select и работоспособность второго select после отправки формы
Добрый вечер!Есть проблемка-не могу сохранить значение селекта,сохранив...

При выборе элемента в <select> менять содержимое другого <select>
Может кто-то подсказать. У меня есть select на форме. Например: &lt;select...

переменная переменная + массив
День добрый, Уважаемые коллеги-программисты. Помогите чем сможете мне вот с...

Переменная кодировка (или как сделать HTML страничку с разными кодировками)
Всем доброго время суток... http://facebik.ru/index.php (без кодировок)...

Как присвоить select'y значение из таблицы MySql?
У меня есть таблица MySql, в ней есть 3 поля: день, месяц и год рождения,...

16
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
03.05.2014, 18:08 #2
Цитата Сообщение от Stitcman Посмотреть сообщение
Подскажите как получить значение select если они создаются динамически и имя является переменной. (метод пост, если это важно.
Через суперглобальную переменную $_POST соответственно.
PHP
1
var_dump($_POST);
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
03.05.2014, 18:19  [ТС] #3
Эмм давайте немного проясним:
$value['param1'] = var_dump($_POST[$value['param1_res']]); так?
Нет нужного эффекта...
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
03.05.2014, 18:32 #4
Цитата Сообщение от Stitcman Посмотреть сообщение
Эмм давайте немного проясним:
$value['param1'] = var_dump($_POST[$value['param1_res']]); так?
Нет нужного эффекта...
Нет, строка var_dump($_POST) выведет ВСЕ переменные, содержащиеся в $_POST и их значения.
Если хотите вывести определенную переменную, например с именем name1, то
PHP
1
echo $_POST['name1'];
Если хотите записать весь массив $_POST в другую переменную, с сохранением ключей, то примерно так:
PHP
1
2
3
4
<?
foreach ($_POST as $k => $v)
    $value[$k] = $v;
?>
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
03.05.2014, 19:04  [ТС] #5
у меня тут имя поля и не могу его вытащить $value['param1_res'] (
0
pav1uxa
1855 / 1709 / 802
Регистрация: 23.01.2014
Сообщений: 6,082
Завершенные тесты: 1
03.05.2014, 19:14 #6
Цитата Сообщение от Stitcman Посмотреть сообщение
у меня тут имя поля и не могу его вытащить $value['param1_res'] (
$_POST['param1_res']
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
05.05.2014, 11:00  [ТС] #7
Не получается (((

Может вы так подскажите где я затупил?!

вот я вывел данные
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
<?php foreach($_SESSION['cart'] as $key => $item): ?>
      Здесь идет заполнение HTML составляющей.
        <?php switch ($item['type_linz']){
            case('0'):
            
            break;
            case('1'):?>
                <td class="z_dioptr">
                Диоптрии:&nbsp;&nbsp;
                <?php $item2 = explode("|",$item['param1']); $item['param1_res'] = $key."1";?>
                <select name="<?=$item['param1_res']?>">
                <?php foreach($item2 as $item1):       ?>
                <option id="id<?=$item1?>" value="<?=$item1?>"><?=$item1?></option>
                <?php endforeach; ?> 
                <?php ?>
                </select>
                <?php print($param1_res) ?>
                <?php ?>
                <span class="z_kriviz">
                Базовая кривизна:&nbsp;&nbsp;
                <?php $item2 = explode("|",$item['param2']); $item['param1_res'] = $key."2";?>
                <select name="<?=$item['param1_res']?>">
                <?php foreach($item2 as $item1):       ?>
                <option id="id<?=$item1?>" value="<?=$item1?>"><?=$item1?></option>
                <?php endforeach; ?> 
                <?php ?>
                </select>
                </span>
                </td>
            <?php break;
Вот записываю в бд:
PHP
1
2
3
4
5
6
7
8
foreach($_SESSION['cart'] as $goods_id => $value){
        $par1 = $_POST['param1_res'];
        $val .= "($order_id, $goods_id, {$value['qty']}, '{$value['name']}', {$value['price']}, '$par1' ),";    
    }
    $val = substr($val, 0, -1); // удаляем последнюю запятую
    
    $query = "INSERT INTO zakaz_tovar (orders_id, goods_id, quantity, name, price, param1)
                VALUES $val";
Но в БД приходит пустое поле....
Плиз Хелп!
0
fenix1991
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 13:54 #8
Здравствуйте, насколько динамическими являются select?
Попробуйте при их генерации выдавать им шаблонные названия: select1, select2. И хранить количество созданных select'ов. А потом считывать в php-скрипте.

Ajax, на сколько я понял у вас не используется.
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
05.05.2014, 14:26  [ТС] #9
Ajax не используется(не обучен ), имена типа select1,select2....selectn , не подходят так как у каждого элемента может быть от 1 до 4 характеристик-селектов(контактные линзы) и соответственно значения селектов с одинаковыми имена будут затираться. Решения кроме как давать имена селектам динамически я не придумал...
0
fenix1991
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 14:28 #10
Какие в итоге имена у селектов появляются после того как вы их зададите динамически?
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
05.05.2014, 15:28  [ТС] #11
Цитата Сообщение от fenix1991 Посмотреть сообщение
Какие в итоге имена у селектов появляются после того как вы их зададите динамически?
Не очень понял вопрос, если вы имеете ввиду из чего складывается то вот:
Цитата Сообщение от Stitcman Посмотреть сообщение
$item['param1_res'] = $key."2";
где $item['param1_res'] уникальное имя селекта под которым в массиве Post должно храниться значение выбранного поля, $key это id самого товара, "2" порядковый номер характеристики.
Если вы об этом.
0
fenix1991
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 15:34 #12
Цитата Сообщение от Stitcman Посмотреть сообщение
Не очень понял вопрос, если вы имеете ввиду из чего складывается то вот:
Вообще хотел узнать, какое имя у селектов будет в html-коде. Насколько я понял наподобие "221", где 22 - id товава, 1 - номер характеристики.
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
05.05.2014, 15:40  [ТС] #13
Цитата Сообщение от fenix1991 Посмотреть сообщение
Сообщение от Stitcman
Не очень понял вопрос, если вы имеете ввиду из чего складывается то вот:
Вообще хотел узнать, какое имя у селектов будет в html-коде. Насколько я понял наподобие "221", где 22 - id товава, 1 - номер характеристики.
да такие, пробовал и имена вместо id, результата ноль.
0
fenix1991
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 15:50 #14
А почему у вас цикл по $_SESSION, а не по $_POST?
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
05.05.2014, 16:00  [ТС] #15
$_SESSION хранит инфу о купленных товарах сессии посетителя.
0
fenix1991
25 / 25 / 5
Регистрация: 19.07.2011
Сообщений: 123
05.05.2014, 16:35 #16
а в сессию каким кодом вы заносите информацию?
0
Stitcman
0 / 0 / 0
Регистрация: 03.05.2014
Сообщений: 38
09.05.2014, 21:14  [ТС] #17
Все разобрался, все работает. Спасибо за подсказки!
0
09.05.2014, 21:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2014, 21:14
Привет! Вот еще темы с решениями:

В Dreamweaver переменная подсвечивается как оператор и при запросе к скрипту, код выводится в браузер.
Установил dreamweaver cs6, попытался создать переменную через знак $, а она...

Как рандомно вывести имя из массива
Привет, как мне рандомно вывести имя в переменную есть массив с именами и...

Как узнать имя переменной по ссылке
Реализовываю следующую задачу: есть мой самописный класс Helper class...

Как вывести имя загружаемого файла?
После загрузки файла выдает: &quot;Файл успешно загружен.&quot; , а мене нужно &quot;Файл ххх...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru