Вопрос по Select и PHP

Discussion in 'PHP' started by Adio, 23 Jul 2010.

  1. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Заплачю 5 баксов кто решит проблему по Select и PHP

    В краце о задаче.

    У меня есть динамический select.

    К примеру я выбираю страну - США > во втором селекте отображаються все города США.

    К каждому городу присвоин свой ID.

    Задача.

    Сделать динамический значение этого ID на пхп т.е там где value сделать что то типа такого value=<? $id ?>

    т.е. Нужно как то при выборе селекта присваивать $ID 1 номер (Это для категорий)

    /Вообщем за инфо пишите в ПМ дам асю если есть желание помочь за 5 баксов.. больше нету бо голову уже свернул с этими категориями.
     
  2. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,548
    Likes Received:
    1,397
    Reputations:
    612
    ну вообще-то здесь структура из первого класса учебники логики.
    допустим у нас есть таблица стран - то есть это первое, что нам надо вывести на странице. далее аяксом после выборки мы посылаем ид выбраной странны и по этому ид страны делаем выборку всего ее городов. в принципе и тд и тп, особого лимита уровней тут нету.
     
  3. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    и снова я это делаю через ajax)

    в бд делаю такую таблицу:
    id pid name
    1 0 США
    2 0 Беларусь
    3 0 Россия
    4 2 Минск
    5 3 Москва
    6 1 Вашингтон

    А потом просто тяну из бд сначала с pid = 0, т.е. названия стран, а потом ajax'ом делаю запрос например getcities.php?id=1 (для сша), getcities.php?id=2 (для Беларуси)

    а запрос делаю такой:
    Code:
    SELECT * FROM cat WHERE pid=intval($_GET['id'])
    
    потом обрабатываю(везде пишу типа addtoselect(блаблабла) ), а потом eval в js и всё. Раз написал и всегда пользуюсь
     
    1 person likes this.
  4. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Вообщем как то сделал.
    Теперь что происходит.

    Нажимаю в меню - Post Ads

    Появляеться форма ну и там же эти 3 селекта - Старна - регион - Категория

    Первые 2 работают.

    Т.е Выбира. Страну - потом Регион - а вот категория пустая... почему то.

    Потом обновляю страницу и все работает.

    Что это может быть ?
     
  5. Seravin

    Seravin Active Member

    Joined:
    25 Nov 2009
    Messages:
    475
    Likes Received:
    190
    Reputations:
    221
    скинь код чтоб хоть посмотреть
     
  6. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    xxxp://xhtml.ru/examples/dynamicselect/examp1.html

    все брал отсюда только переименовал на свое
     
  7. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Все решил проблему - может кому то будет нужно -

    Вообщем хедере вставляеться вот такой код

    Code:
    <script type="text/javascript"><!--
    	window.onload = function() {
    		dynamicSelect("select-1", "select-2");
    		dynamicSelect("select-2", "select-3");
    	}
    //--></script>
    
    
    Для привзяки 3 селектов .

    Но по каким то причинам как например у меня в вордпрессе форма идет на отдельной страницы плюсь в форму методом require вставляетються селекты стран и провинций .

    По каким то причинам при загрузки формы выполняеться только 1 привязка т.е



    Code:
    <script type="text/javascript"><!--
    	window.onload = function() {
    		dynamicSelect("select-1", "select-2");
    		
    	}
    //--></script>
    
    
    А остальная начинает работать только при перезагрузки страницы.

    Решение нашел такое .

    Сделать 2 когда по отдельности.

    Code:
    <script type="text/javascript"><!--
    	window.onload = function() {
    		dynamicSelect("select-1", "select-2");
    		
    	}
    //--></script>
    
    и привязываем 3
    Code:
    <script type="text/javascript"><!--
    	window.onload = function() {
    		dynamicSelect("select-2", "select-3");
    		
    	}
    //--></script>
    
    И все работает.

    Может кто подскажет в чем причина... ну а так вроде все ок : )

    Спасибо
     
  8. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Что бы не создавать тему ... как можно сделать так что бы при выборе 1 селекта во втором селекте менялся class на имя первого селекта ? т.е

    К пример вубирает 1 SELECT (USA) 2 SELECT ( CLASS=USA) Category 01

    Т.е суть в том что бы ID оставался один и тотже во 2 селекте а класс менялся на имя 1 селекта т.е что мы делаем подставляем имя с 1 селекта в класс во втором селекте тем самым говоря что эта категория отноститься к USA и постим естесвенно тудаже
     
  9. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Что-то типа
    Code:
    <select id="sel1" onchange="document.getElementById('sel2').className=this.value">
    
     
    1 person likes this.
  10. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Криптер как это дело интегрировать сюда ?

    Code:
    <script type="text/javascript"><!--
    	window.onload = function() {
    		dynamicSelect("select-1", "select-2");
    		dynamicSelect("select-2", "select-3");
    	}
    //--></script>
    
    
    <select id="select-1">
    <option value="select">Select...</option>
    <option value="NewYork">NewYork</option>
    </select>
    
    
    <select id="select-2">
    <option class="select" value="select">Select...</option>
    <option class="NewYork" value="ProvinceNY">ProvinceNY</option>
    </select>
    
    
    
    <select id="select-3">
    <option class="select" value="select">Select...</option>
    <option class="ProvinceNY" value="123">Category01</option>
    <option class="ProvinceNY" value="124">Category02</option>
    </select>
    
    Как вставить твой выше приведенный код - что бы когда я выбирал ProvinceNY то в Category01 и Category02 былo так <option class="ProvinceNY" value=123>Category01</option>
     
  11. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Как видеш я там сам ставлю значение class когда выбираю NewYork то он в 3 селетке выводит ProvinceNY потому что там стоит этот класс. А мне нужно что бы он автоматом подставлялся из 2 селекта
     
  12. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Плачю 5 баксов больше на вм денег нет : ) просто если бы знал как сделать помощь бы не просил.. выхода нет
     
  13. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Мб, как-нить так (jQuery)
    Code:
    ...
      <script type="text/javascript" src="jquery.js"></script>
      <script type="text/javascript">
        $(document).ready (function () {
          $("#select-2").change (function () {
            $("#select-3 #select-3-opt").toggleClass ($(this).val ());
          });
        });
      </script>
    ...
    <select id="select-3">
    <option class="select" value="select">Select...</option>
    <option id="select-3-opt" value="123">Category01</option>
    <option id="select-3-opt" value="124">Category02</option>
    </select>
    
     
  14. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    3 человека не могут сделать я в шоке сижу уже на нервах весь один не понял что я хочу второй не поймет как такое сделать )))

    может по английский обьяснять уже не знаю.. :(
     
  15. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    видимо, этим троим вы не смогли объяснить, что хотите получить
     
  16. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Code:
    <script type="text/javascript"><!--
    	window.onload = function() {
    		dynamicSelect("select-1", "select-2");
    		dynamicSelect("select-2", "select-3");
    	}
    //--></script>
    
    
    <select id="select-1">
    <option value="select">Select...</option>
    <option value="NewYork">NewYork</option>
    </select>
    
    
    <select id="select-2">
    <option class="select" value="select">Select...</option>
    <option class="NewYork" value="ProvinceNY">ProvinceNY</option>
    </select>
    
    
    
    <select id="select-3">
    <option class="select" value="select">Select...</option>
    <option  value="123">Category01</option>
    <option  value="124">Category02</option>
    </select>
    
    Вот в Select-3 я убрал классы !!

    А теперь как сделать при выборе из select-2 вот этого города

    Code:
    <option class="NewYork" value="ProvinceNY">ProvinceNY</option>
    
    Его значение

    Code:
    ProvinceNY
    Вставлялось в Select-3 вот так !

    Code:
    
    <select id="select-3">
    <option class="select" value="select">Select...</option>
    <option CLASS=ProvinceNY  value="123">Category01</option>
    <option  CLASS=ProvinceNY value="124">Category02</option>
    </select>
    
    
    щас понятней ?

    А тот код на Jquery не работает ! И там не ID а класс должен быть
     
  17. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Инересно найдеться какой нибудь умный который сделает это...
     
  18. krypt3r

    krypt3r Elder - Старейшина

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Я ж вам дал код с jquery. Класс опшенов в третьем селекте меняется при выборе какой-то опции во втором селекте.

    PS. Класс меняется на лету, программно, если вы пытаетесь увидеть его в коде страницы, зря стараетесь
     
    #18 krypt3r, 23 Jul 2010
    Last edited: 23 Jul 2010
  19. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    Так в чем прикол - Прикол в том что когда я должен выбирать 2 селект т.е город то значение города должно автоматом присваиваться всем категориям в 3 селекте -

    А он по ходу не присваеваеться потому что 3 селект не работает .

    Code:
    <select id="select-3">
    <option class="select" value="select">Select...</option>
    <option id="select-3-opt" value="123">Category01</option>
    <option id="select-3-opt" value="124">Category02</option>
    </select>
    
    Вот так мне и отображаеться в сурсе.
    И вместо id там должно быть

    Class="Значение города с select2" быть
     
  20. Adio

    Adio Elder - Старейшина

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    147
    Reputations:
    18
    [​IMG]

    Вот нарисовал как должно работать

    http://img839.imageshack.us/i/plan.jpg/