За последние 24 часа нас посетили 23189 программистов и 1701 робот. Сейчас ищут 1624 программиста ...

связанные списки

Тема в разделе "Вопросы от блондинок", создана пользователем udodirc, 9 апр 2008.

  1. udodirc

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

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    Прочитал вот эту тему
    http://pyha.ru/forum/topic/86.0
    Все сделал как там, только у меня через mysql работает, когда выбираю значение водном combobox через ajax появляется значения во втором combobox, но вот впорос как сделать так чтобы при выборе значения второго combobox выпадал третий combobox связанный со вторым там просто библиотека такая сложная я в не не разобрался вот здесь библиотека http://dklab.ru/lib/JsHttpRequest/, вот код select.php

    [js]
    <script src="JsHttpRequest.js"></script>

    <!-- Здесь мы подключили библиотеку. А теперь пишем функцию, которую назовем doload() -->

    <script>
    function doload(value){
    var req=new JsHttpRequest();
    req.onreadystatechange=function(){
    if(req.readyState==4) document.getElementById("result").innerHTML=req.responseText;}
    req.open(null,"select2.php",true);
    req.send({sklad:value});
    }
    </script>

    <!-- Нетрудно догадаться, что мы сделали. Смотрите: ниже мы объявим тег select, в котором пропишем вызов функции doload с параметром this.value, то есть с выбранным в select`e значением. А вышенаписанная функция посылает запрос в скрипт select2.php и передаст ему значение sklad=value. Затем результат выведет в элемент с id=result. Итак, поехали... -->

    <!-- Создаем форму -->

    <form action="sript.php" method="POST">

    <!-- Теперь пихаем в нее первый select -->
    <select name="sklad" onchange="doload(this.value);">
    <?php
    include("mysql.php");
    $sql="select codeid,name_sklad from sp_sklad order by codeid";
    $rs=mysql_query($sql);
    while ($data = mysql_fetch_array($rs)){
    echo'<option value="'.$data["codeid"].'">'.$data["name_sklad"].'</option>';
    }

    ?>
    </select>
    <br><br>


    <br><br>

    <!-- Вставляем тэг с нашим идентификатором, вместо которого у нас будет появляться второй select -->

    <div id="result"></div>


    <br><br>

    <!-- Теперь вставляем кнопку и закрываем форму. -->

    <input type="submit" value="Отправить">

    </form>
    [/js]

    вот код select2.php

    PHP:
    1.  
    2. <?php
    3. require("JsHttpRequest.php"); //Подключаем библиотеку
    4. $JsHttpRequest=new JsHttpRequest("windows-1251"); //Создаем экземпляр класса, указываю рабочую кодировку.
    5. include("mysql.php");
    6. //Далее все просто. В зависимости от выбранного параметра в первом select`e, заполняем переменную $html необходимым кодом.
    7. if (isset($_REQUEST["sklad"]))
    8. {
    9. $html='';
    10. $html.='<tr>
    11. <td class="header">Поставщик</td>
    12. <td>';
    13.  
    14. $html.='<select name=\"postavshik\" onchange="doload2(this.value);>';
    15. $sql="select distinct code_postavshik from zakaz_tovar where code_sklad=".$_REQUEST["sklad"]." order by code_postavshik";
    16. $rs2=mysql_query($sql);
    17. while ($data2 = mysql_fetch_array($rs2)){
    18. $html.='<option value="'.$data2["code_postavshik"].'">'.$data2["code_postavshik"];
    19. }
    20. $html.='</select></td></tr>';
    21. echo $html;
    22. }
    23.  
    проблема как мне генерировать третий combobox во втром файле, пробовал разные методы не работает.
     
  2. Sergey89

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

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Уф. А на том форуме, где прочитали слабо спросить?
     
  3. udodirc

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

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    Тогда вот такой вопрос как мне вставить PHP значение
    ыот это например $data["code_postanshik"]

    PHP:
    1.  
    2.  <?php include("mysql.php");
    3.   $sql="select distinct code_postavshik from zakaz_tovar where code_sklad=".$_REQUEST["sklad"]."  order by code_postavshik";
    4.         $rs=mysql_query($sql);
    5.         $data = mysql_fetch_array($rs);
    6.         $data["code_postanshik"]
    7.         ?>  вместо слова  "Красный" в эту строку в javascript BentleyAzure : {red:"Красный",green:"Зеленый"},
    8.     BentleyAzure : {red:"Красный",green:"Зеленый"},
    9. <script type="text/javascript">
    10. // Данные, как бы из базы, сформированные на стороне сервера.
    11. // Обычно находятся в подключаемом JavaScript файле.
    12. var colorsArray = {
    13.  
    14.     BentleyAzure : {red:"Красный",green:"Зеленый"},
    15.     ChevroletCorvette : {black:"Черный",blue:"Синий"},
    16.     FerrariEnzo : {green:"Зеленый",black:"Черный",yellow:"Желтый"}
    17.  
    18. }
    19. // Функция, заполняющая список цветами доступными для выбранной модели.
    20. function getColors(_this){
    21.     var colors = colorsArray[_this.value];
    22.     var _select = document.getElementById("colors");
    23.     _select.innerHTML = ""; // Удаляем всех потомков.
    24.  
    25.     for(var i in colors){ // Добавляем доступные цвета.
    26.         var option = document.createElement("option");
    27.         var optionText = document.createTextNode(colors[i]);
    28.         option.appendChild(optionText);
    29.         option.setAttribute("value",i);
    30.         _select.appendChild(option);
    31.     }
    32.  
    33.     // Делаем список цветов видимым.
    34.     _select.style.display="inline";
    35. }
    36. </script>
    37.  
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Вот там и спрашивайте. Смысл читать статью на одном форуме, а просить помощи на другом?
    Подсвечивайте РНР код соответствующими bb-тегами (php).
    И поищите по форуме "Связанные списки". Тема поднималась и не один раз.
     
  5. udodirc

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

    С нами с:
    14 мар 2008
    Сообщения:
    111
    Симпатии:
    0
    Я понял всю тему у меня вопрос по синтаксису как вставить кусок кода PHP в javascript вот в этот кусок кода # <?php include("mysql.php");
    # $sql="select distinct code_postavshik from zakaz_tovar where code_sklad=".$_REQUEST["sklad"]." order by code_postavshik";
    # $rs=mysql_query($sql);
    # $data = mysql_fetch_array($rs);
    # $data["code_postanshik"]
    # ?> вместо слова "Красный" в эту строку в javascript BentleyAzure : {red:"Красный",green:"Зеленый"},
    # BentleyAzure : {red:"Красный",green:"Зеленый"},
    # <script type="text/javascript">
    # // Данные, как бы из базы, сформированные на стороне сервера.
    # // Обычно находятся в подключаемом JavaScript файле.
    # var colorsArray = {
    #
    # BentleyAzure : {red:"Красный",green:"Зеленый"},
    # ChevroletCorvette : {black:"Черный",blue:"Синий"},
    # FerrariEnzo : {green:"Зеленый",black:"Черный",yellow:"Желтый"}
    #