За последние 24 часа нас посетили 219152 программиста и 2210 роботов. Сейчас ищут 1614 программистов ...

Выпадающий список с возможностью добавления в него записей

Тема в разделе "PHP для новичков", создана пользователем dembi, 20 окт 2008.

  1. dembi

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

    С нами с:
    21 июл 2008
    Сообщения:
    78
    Симпатии:
    0
    Добрый День, Всем!

    У меня есть форма, на ней есть несколько полей со списками.
    Одно поле для выбора страны, второе поле для выбора региона и т.д.
    Все данные для списков берутся из БД.

    Пример поля со списком для выбора страны:

    <select name="mo" size="1">
    <option value="none"></option>
    <?php
    $result = mysql_query("SELECT country
    FROM operators
    where length(country) > 0
    group by country",$db);
    $spisok = mysql_fetch_array($result);
    do
    {
    printf
    ("<option> %s </option>", $spisok['country']);
    }
    while ($spisok = mysql_fetch_array($result));
    ?>
    </select>


    Как сделать так чтобы можно было прям в это же поле со списком вносить новые значения и сохранять их в БД ?

    Заранее спасибо за ответ.
     
  2. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    что, опять Попов?!
     
  3. dembi

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

    С нами с:
    21 июл 2008
    Сообщения:
    78
    Симпатии:
    0
    ну да )))))
    Кстати я считаю, что он молодец :))
     
  4. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
  5. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Mr.M.I.T.
    do…while ? или по другим особенностям их вычисляешь? :D
     
  6. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    off: do while для mysql_fetch_array шаблон дримвивера, вроде. А попов насколько мне известно именно в нём и "учит" писать скрипты.
     
  7. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    do while
    printf
    if(isset($_GET['a'])){$a=$_GET['a'];}
    страшно кривой код =))
    а тут был?
    http://evgeniypopov.e-luge.net/
    вот вот,
    его самого учить надо, а ещё пороть...
     
  8. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    [offtop]А Dreamweaver у них всех лицинзионный? Может Попов агент адобы? :)
     
  9. MMax

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

    С нами с:
    10 окт 2008
    Сообщения:
    6
    Симпатии:
    0
    Поругайте за такой алгоритм (или похвалите). Или подскажите как можно сделать лучше. Но такой вариант работает, при этом очень удобен, если надо не просто значение из таблицы взять, а собрать значение из нескольких таблиц (из дерева).

    $id=$_POST["selected_name"];


    echo '<FORM name="input_form" method="POST">';

    //Выбираем из базы

    $res = mysql_query("select * from table where deleted = 0 order by name");

    for ($i=0; $i < mysql_num_rows($res); $i++)
    {
    $Name = mysql_result($res,$i, "name");
    $Name_id = mysql_result($res,$i, "id");
    $Mass[$i][id] = "$Name_id";
    $Mass[$i][name] = "$Name";

    }
    echo '<select name="selected_name">'; // onChange="input_form.submit()";
    choice_array ($Mass, "Выберите значение из списка", $id);

    echo "<INPUT type=\"submit\" value=\"OK\">\n";


    echo '</FORM>';

    function choice_array ($Mass, $Lable, $id)
    {
    echo "<option value=0>$Lable</option>";
    for ($i=0; $i < count ($Mass); $i++)
    {

    $val=$Mass[$i][id];
    $Name=$Mass[$i][name];
    if ($id==$val)
    {
    echo "<option value=\"$val\" selected>$Name</option>";
    }
    else
    {
    echo "<option value=\"$val\">$Name</option>";
    }
    }
    echo 'dropdown_tag_cloud';
    echo '</select>';
    echo "<BR>";

    }

    Это позволяет реализовать "шапку" выпадающего меню ($Lable), стандартное значение, если оно есть, возможность собрать любое значение для выбора. В частности если есть таблица со связью, $Name можно собрать в основном теле и передать его в функцию. Кроме того, если
    echo '<select name="selected_name">'; // onChange="input_form.submit()";
    поменять на
    echo '<select name="selected_name" onChange="input_form.submit()">';
    форма будет автоматически обновляться при изменении значения в выпадающем меню.
     
  10. karakh

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

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Алгоритм... При чем тут алгоритм?

    зачем в первом цикле нужны промежуточные $Name и $Name_id?
     
  11. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    Ругаться лень, сам матюки придумай. Но это плохо, честно…

    удали для начала излишние пересчёты размера массивов
    омг, was ist das???
     
  12. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    PHP:
    1. for ($i=0; $i < mysql_num_rows($res); $i++)
    2. {
    3. $Name = mysql_result($res,$i, "name");
    тоже вроде у Попова так?
    зы. Матюков оч много
     
  13. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    чёрт, пора новый раздел делать в фанклубе — «как определить поповёнка» :)
    И подспутно ещё один — «за какие вещи вас будут бить ногами»
     
  14. MMax

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

    С нами с:
    10 окт 2008
    Сообщения:
    6
    Симпатии:
    0
    Замечания учту. Спасибо.

    ЗЫ. Это не Попов. Некто Николай Прохоренок.
    ЗЗЫ. Не считайте дураком, просто опыта практически нет. Последний раз програмил в 97-ом году на паскале.
     
  15. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    А год издания какой?
    Ога, и сверху написать, А ты записался в АнтиПоповский патруль? =))
    Зы. Кстати, там в фанклубчике уже первые защитники появились...
     
  16. QQQ

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

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    offtop:
    про Жопова реально ржу уже не первый день.. видимо нет php ориентированного форума, куда его новообращённые адепты не валят пачками.. +20 парню за продвижение говна.. ребята из 1С со своим Битриксом - просто сосут :D

    ps: не удивлюсь, если скоро Попов будет работать в руководстве PR-отделения M$ :)...

    pps [съедено аффтором, мной всмысле]: ...или советником ДАМ по связям со всякими :)
     
  17. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    ?
     
  18. Mr.M.I.T.

    Mr.M.I.T. Старожил

    С нами с:
    28 янв 2008
    Сообщения:
    4.586
    Симпатии:
    1
    Адрес:
    у тебя канфетка?
    педиком? ну да, если его злые программисты найдут =)))
     
  19. dembi

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

    С нами с:
    21 июл 2008
    Сообщения:
    78
    Симпатии:
    0
    Привет Всем.

    Кто нибудь, когда создавал ComboBox на PHP?
    Если, можете поделиться исходником или дать ссылку, где можно почитать об этом.
     
  20. dembi

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

    С нами с:
    21 июл 2008
    Сообщения:
    78
    Симпатии:
    0