За последние 24 часа нас посетили 17844 программиста и 1650 роботов. Сейчас ищут 900 программистов ...

Тег Select и MySQL

Тема в разделе "PHP и базы данных", создана пользователем VivaLaMax, 14 авг 2011.

  1. VivaLaMax

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

    С нами с:
    14 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    Здравствуйте.
    Прошу вашего совета, как можно реализовать такое:
    Вот есть

    HTML:
    1. <option value="ua">Украина</option>
    2. <option value="ru">Россия</option>
    Как реализовать что бы при выборе пользователем значения, оно заносилось в базу данных MySQL и потом брало его из базы и при повторном обращению к селектору на том значении стоял атрибут selected.

    HTML:
    1. <option value="ua" selected="selected">Украина</option>
    2. <option value="ru">Россия</option>
    Извиняюсь за такой растянутый вопрос, просто не очень понимаю как реализовать.
    Искал на разных ресурсах, но так и не понял как это сделать.
     
  2. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    присвоить имя этому селекту, получить значение этого селекта, записать в бд.

    выбрать это значение из базы, присвоить его некой переменной $a. в цикле (желательно, если много стран в селекте) сделать вывод этого списка со странами. при каждой итерации цикла делать проверку на то, одинаковы ли значения - равно ли $a тому значению, которое будет подставлено в этот список стран (например, равно ли $a (в которой, например, "Украина") == "Украина" и если это так, то элементу списка option присвоить атрибут selected.
    Тут объяснений больше выйдет, чем самого кода.
     
  3. VivaLaMax

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

    С нами с:
    14 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    Я сделал цикл:
    PHP:
    1. while ($row = mysql_fetch_object($result)) {
    2. echo "<option value=".$row->country_code." ".if($selected == $row->country_code)echo 'selected'.">".$row->country_name."</option>";};
    Но при открытии страницы:
    Parse error: syntax error, unexpected T_IF in ...

    Стало такое после добаления
    PHP:
    1. .if($selected == $row->country_code)echo 'selected'.
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    VivaLaMax
    скачай netbeans

    PHP:
    1.  
    2. <?php
    3.  
    4. while ($row = mysql_fetch_object($result)) {
    5.   echo "<option value=" . $row->country_code . " ";
    6.   if ($selected == $row->country_code) {
    7.     echo 'selected' . ">" . $row->country_name . "</option>";
    8.   }
    9. };
    10.  
     
  5. Апельсин

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

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    igordata
    быстрее исправляй, а то зачмырят :)
     
  6. VivaLaMax

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

    С нами с:
    14 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    Выводит только ту страну которая была selected остальные страны где то тихонько курят в сторонке)))
    И проглотило селектор который был после этого
     
  7. VivaLaMax

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

    С нами с:
    14 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    Незнаю что сделать...
    Не работает правельно.
    Что можно сделать с кодом?
     
  8. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    PHP:
    1. <?php
    2.  
    3.  while ($row = mysql_fetch_object($result)) {
    4.    echo '<option value="' . $row->country_code . '"';
    5.    if ($selected == $row->country_code)  echo 'selected';
    6.    echo ">" . $row->country_name . "</option>";
    7.  };
     
  9. VivaLaMax

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

    С нами с:
    14 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    Спасибо) То что нужно)))))
     
  10. VivaLaMax

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

    С нами с:
    14 авг 2011
    Сообщения:
    17
    Симпатии:
    0
    А как быть если не через цикл?)
    Вот допустим выбор пола
    HTML:
    1. <select name="sex">
    2. <option value="male">Мужской</option>
    3. <option value="female">Женский</option>
     
  11. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    if вставить. типа такого
    PHP:
    1.  <?
    2.     <select name="sex">
    3.      <option value="male" <?php if ($sex=='male') echo 'selected'; ?> >Мужской</option>
    4.      <option value="female" <?php if ($sex=='female') echo 'selected'; ?> >Женский</option>
    5.      </select>