Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/25: Рейтинг темы: голосов - 25, средняя оценка - 4.80
1 / 1 / 6
Регистрация: 23.09.2014
Сообщений: 176
1

Вывод массива в select

12.01.2015, 13:24. Показов 4810. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть два поля ид и некое текстовое.
после праздников голова чет не варит.
до этого мне подходило что-то вроде

PHP
1
2
3
4
5
6
7
8
9
        <select name="conv" >     
            <?php
                foreach($list_name as $value => $conv) 
                {
                    $select = isset($_POST['conv']) && $value == $_POST['conv']?'selected>':'>';    
                    echo '<option value="'.$value.'"'.$select.$conv[0].'</option>'; 
                }
            ?>
        </select>
где $list_name

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
array(106) {
  [0]=>
  array(2) {
    [0]=>
    string(14) "БЛОЧНАЯ"
    [1]=>
    string(3) "310"
  }
  [1]=>
  array(2) {
    [0]=>
    string(16) "ЯНИЧКИНО"
    [1]=>
    string(3) "312"
  }

но это довольно примитивное решение в том плане что я всегда имею один и тот же список.
необходимо по ид отображать выбранный элемент первым после загрузки данных из бд и список примет вид

PHP
1
2
3
4
5
array(106) {
  [310]=>
  string(14) "БЛОЧНАЯ"
  [312]=>
  string(16) "ЯНИЧКИНО"

как тогда отображать тот или иной элемент первым (причем без дублей)
................
может как-то косно написал. в двух словах - имеем первоначальный список (пусть будет что есть). но при изменении записи мы знаем что выбран тот или иной пункт. знаем ID. как создать список с уже известным ид?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2015, 13:24
Ответы с готовыми решениями:

Вывод массива в select
&lt;HTML&gt; &lt;php&gt; $mas=&quot;1&quot;; $mas=&quot;2&quot;; $mas=&quot;3&quot;; &lt;/php&gt; &lt;BODY&gt; &lt;form...

Вывод массива в Select
Добрый вечер! Мне нужно вывести элементы массива в тег select, вроде все просто, а не работает....

Вывод массива из БД в поле select
Здравствуйте. В проекте есть поле &quot;Выбор фотосессий&quot;, в БД записано как `ps_types`. Выбирается из...

Вывод массива для выбора в select
Есть код работающий в Битриксе, который выводит массив в поле select массивом в одной строке. Как...

8
7 / 7 / 3
Регистрация: 28.01.2013
Сообщений: 70
12.01.2015, 13:33 2
Под такой массив:
PHP
1
2
3
4
5
array(106) {
  [310]=>
  string(14) "БЛОЧНАЯ"
  [312]=>
  string(16) "ЯНИЧКИНО"
Будет так:
PHP
1
2
3
4
5
6
7
            <?php
                foreach($list_name as $value => $conv) 
                {
                    $select = isset($_POST['conv']) && $value == $_POST['conv']?' selected="selected">':'>';    
                    echo '<option value="'.$value.'"'.$select.$conv.'</option>'; 
                }
            ?>
0
1 / 1 / 6
Регистрация: 23.09.2014
Сообщений: 176
12.01.2015, 13:40  [ТС] 3
нет. оно то понятно. ну опять же первым элементом будет первый элемент массива.
0
7 / 7 / 3
Регистрация: 28.01.2013
Сообщений: 70
12.01.2015, 13:47 4
а епт.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
 <select name="conv" >     
 
            <?php
if(isset($list_name[$_POST['conv']])){
echo '<option value="'.$_POST['conv'].'" selected="selected" > '.$list_name[$_POST['conv']].'</option>';
unset($list_name[$_POST['conv']]);
}
                foreach($list_name as $value => $conv) 
                {    
                    echo '<option value="'.$value.'" >'.$conv.'</option>'; 
                }
            ?>
        </select>
1
1 / 1 / 6
Регистрация: 23.09.2014
Сообщений: 176
12.01.2015, 14:14  [ТС] 5
вроде оно.

Добавлено через 24 минуты
млин я запутался
PHP
1
2
3
4
5
6
7
8
9
10
        <select name="conv" >     
            <?php
                echo '<option value="'.$list_nam[$_GET["client"]].'" selected="selected" > '.$list_nam[$_GET["client"]].'</option>';
                unset($list_nam[$_GET["client"]]);
                    foreach($list_nam as $value => $conv) 
                {    
                    echo '<option value="'.$value.'"'.$select.$conv.'</option>'; 
                }
            ?>
        </select>
так он отображает передаваемое гетом значение. но по кнопке сабмит уходит пустота.
0
7 / 7 / 3
Регистрация: 28.01.2013
Сообщений: 70
12.01.2015, 14:29 6
Ошибка в форме, значит. ПРоверь, или пришли получившийся кусок HTML формы .
0
1 / 1 / 6
Регистрация: 23.09.2014
Сообщений: 176
12.01.2015, 14:56  [ТС] 7
млин а хтмл то верный
HTML5
1
2
3
4
  <td colspan="3">  
          <select name="conv" >     
            <option value="ОАО "МЕЧЕЛ"" selected="selected" > ОАО "МЕЧЕЛ"</option><option value="310">БЛОЧНАЯ</option><option value="312">ЯНИЧКИНО</option><option value="313">ОГНЕУПОРНАЯ</option><option value="315">ВЕРХНЯЯ</option>     </select>  
      </td>
0
7 / 7 / 3
Регистрация: 28.01.2013
Сообщений: 70
12.01.2015, 14:58 8
А где форма и сабмит ?
0
1 / 1 / 6
Регистрация: 23.09.2014
Сообщений: 176
13.01.2015, 13:58  [ТС] 9
PHP
1
2
3
4
5
6
7
8
9
10
11
12
 
 <form id="newForm"  method="post">
 <td colspan="2">
        <select name="prod">      
            <option value="0">ИЗВЕСТНЯК ФЛЮСОВЫЙ</option><option value="1">СКАЛЬНЫЙ ГРУНТ (ВСКРЫША)</option><option value="2">ПЕСЧАНО-ЩЕБ. СМЕСЬ ФР.0-10 МПС (15)</option><option value="3">ИЗВЕСТНЯК СЫРОЙ ГАЛЬЯНОВСКОГО МЕСТОРОЖДЕНИЯ</option><option value="4">Шихта марганцевая</option><option value="5">Отсев железорудных неофлюсованных окатышей</option><option value="6">Шлаки + Шламы</option><option value="7">Смесь концентратов ЛАЦ</option><option value="8">ИЗВЕСТНЯК СЫРОЙ ГАЛЬЯНОВСКОГО МЕСТОРОЖДЕНИЯ</option><option value="9">Электроэнергия</option>   </select> 
            
      </td>
  
      <td colspan="3">
      <input type="submit" name="ok" value="Принять" onclick="document.getElementById('newForm').submit()"></div>
      </td>
       </form>
Добавлено через 22 минуты
может приведешь простой пример как сделать

Добавлено через 34 минуты
в общем вот что получил в итоге

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
33
34
            while ($row = pg_fetch_row($rs))    
                {                       
                    $list_nam[$row[1]] = $row[0];
                }   
                               if(isset($_GET["client"])) 
                {
                    $client = $list_nam[$_GET["client"]]; 
                }
        
             if(isset($_POST['conv']))  
            { 
                echo $client =  $_POST['conv'];
            }
            else  $client =  null;
 
 
          <select name="conv" >     
            <?php
                if (isset($_POST['conv']))
                {
                    echo '<option value="'.$_POST["conv"].'" selected="selected" > '.$list_nam[$_POST["conv"]].'</option>';
                    unset($list_nam[$_POST["conv"]]);
                }
                else 
                {
                    echo '<option value="'.$_GET["client"].'" selected="selected" > '.$list_nam[$_GET["client"]].'</option>';
                    unset($list_nam[$_GET["client"]]);
                }           
                    foreach($list_nam as $value => $conv) 
                {    
                    echo '<option value="'.$value.'"'.$select.$conv.'</option>'; 
                }
            ?>
        </select>
0
13.01.2015, 13:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2015, 13:58
Помогаю со студенческими работами здесь

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

Вывод заголовков полей массива / Вывод содержимого массива на веб-страницу не через print_r
Есть некий массив массивов, который передаётся в какой-то документ и там переприсваивается через ...

Вывод данных бд из <select>
Здравствуйте! На сайте есть выпадающий список из бд (Марки Машин). Надо выбрать (Марку Машины) из...

Вывод и скрытие <select>
Как при выборе определенного option'a делать проверку таблицы из БД, и если id option'a...

Вывод данных в select из бд
всем привет. есть табличка в бд - category (id, name). надо все name вывести в select. пример - ...

Вывод данных в select
Привет всем. Нужна помощь с выводом данных из таблицы в select. Пока что у меня есть: &lt;tr&gt;...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru