За последние 24 часа нас посетили 141972 программиста и 2816 роботов. Сейчас ищут 1776 программистов ...

Списки множественного выбора

Тема в разделе "PHP для новичков", создана пользователем MCTrane, 21 апр 2010.

  1. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    как к ним обратиться, после передачи с формы?
    Пробывал так
    echo $_POST['hero[1]'];
    и так
    echo $_POST[hero][1];
    Неполучается
     
  2. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    Так чтоли? $_POST['hero'][1] ?
     
  3. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    я так пробывал
     
  4. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    MCTrane
    Какие списки? Динамические селекты чтоли? Так там три (2 в данном случаее) переменные участвуют в этой фигне, скорее всего, а не многомерный массив.
     
  5. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    <select multiple>
    Какие 2 переменные?
     
  6. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    PHP:
    1. <?php
    2.  
    3. echo "<pre>" . print_r($_POST, true) . "</pre>";
    4.  
    5. ?>
    Смотрим
     
  7. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Вот что выводит
    Array
    (
    [hero] => Array
    (
    [0] => превый
    )

    )
     
  8. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ну тогда и делаем как видим:

    PHP:
    1. <?php
    2.  
    3. echo "Что мы получили <br />";
    4.  
    5. foreach($_POST["hero"] as $value) {
    6.     echo $value . "<br />";
    7. }
    8.  
    9. echo "Всего значений получено " . sizeof($_POST["hero"]);
    10.  
    11. ?>
     
  9. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Мне не нужно чтобы мне все значении выводились мне нужно иметь к ним доступ по отдельности.
     
  10. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    MCTrane
    Думать совсем не хочется, а?
    Я тебе дал решение, которое остаётся только использовать.
    Разжевал и в рот положил, мало что ли?
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    не надо плакать.
    обрабатывай $value, чо
    их будет столько, сколько будет. в цикле foreach ты по ним по всем пройдешь.
     
  12. vuzy

    vuzy Активный пользователь

    С нами с:
    11 мар 2010
    Сообщения:
    199
    Симпатии:
    0
    Адрес:
    киев
    как можно иметь доступ ко всем значениям в отдельности ????

    Можно иметь доступ к различным спискам выбора но никак не значениям... Значение тебе юзер передает причем одно единственное которое выбрал. А если тебе надо списки в отдельности то пожалуй тебе остается только разное имя к ним написать и получать сведения соответственно по этим именам...
     
  13. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Вы не можете написать как обращаться по отдельности к значениям через foreach()?
    а то я не понимаю как эта функция работает...
     
  14. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Уверен?

    MCTrane
    PHP:
    1. <?php
    2. var_dump($_POST);
    3. ?>
    HTML:
    1. <form method='post' action='index.php'>
    2. <div>
    3. <select multiple='multiple' name='sel'>
    4.     <option value='1'>1</option>
    5.     <option value='2'>2</option>
    6.     <option value='3'>3</option>
    7.     <option value='4'>4</option>
    8. <select multiple='multiple' name='sel1[]'>
    9.     <option value='1'>1</option>
    10.     <option value='2'>2</option>
    11.     <option value='3'>3</option>
    12.     <option value='4'>4</option>
    13. <input type='submit' />
    14. </div>
    15. </form>
     
  15. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Volt(220)
    Вот что выводит
    array(2) { ["sel"]=> string(1) "4" ["sel1"]=> array(4) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" [3]=> string(1) "4" } }
     
  16. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    По-моему этой информации достаточно, чтобы получить выбранные значения.
     
  17. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Я же говорю так не выводится
    echo $_POST[hero][1];
     
  18. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    посмотри какой name у тебя в select стоит и напиши тут
     
  19. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
  20. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    поставь hero[]
     
  21. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Ну да у меня так и стоит
     
  22. host

    host Активный пользователь

    С нами с:
    20 июн 2007
    Сообщения:
    733
    Симпатии:
    3
    если стоит так, значит, пробегаешься по $_POST['hero'] и делаешь с полученными данными что угодно
     
  23. Simpliest

    Simpliest Активный пользователь

    С нами с:
    24 сен 2009
    Сообщения:
    4.511
    Симпатии:
    2
    Адрес:
    Донецк
    MCTrane
    Прикалываемся?

    Где это в дампе ниже?
     
  24. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    в трибуте name у селекта должно быть hero, а не sel

    тяга...
     
  25. MCTrane

    MCTrane Активный пользователь

    С нами с:
    14 ноя 2009
    Сообщения:
    217
    Симпатии:
    0
    Simpliest
    Никто не прикалывается!
    Так тоже не выводится тут не в названии дело!
    $_POST[sel][1];
    это одно и тоже, и тоже не выводится!