mrusklon
@mrusklon
Не получается? Яростно гугли!

Как правильно сделать ajax запрос и запросить данные с БД?

Задачку решаю , есть у меня 2 select , в первый селекс подтягиваются данные из таблицы БД например магазины "Фуршет, Ашан, Простор" , во втором селекте надо сделать "отношение" как бы подкатегорию к магазину, в которой будет например товар аля Хлеб Молоко Бананы . Связи в таблицах я сделал , запрос в БД вот такой $sql = "SELECT * FROM objects WHERE parent_id = 1 ";
нужно в переменную parent_id как то подставить id магазина и без перезагрузки страницы во второй select подставить данные из таблицы

не прошу решение , прошу по логике подсказать как реализовать , например "Надо сделать запрос в бд, запросить то то , затем сделать это и вот это" ))
Спасибо
  • Вопрос задан
  • 371 просмотр
Решения вопроса 1
@choupa
Архитектор (обычный, который строит)
<select id = 'shop'>
    <option value = '0'>Фуршет</option>
    <option value = '1'>Ашан</option>
    <option value = '2'>Простор</option>
</select>

<select id = 'cathegory'></select>


$( 'select#shop' ).on( 'change', function() {
    $.post( 'select_cathegory.php', {
      data: { parent_id:  this.value },    //  поразумеваются, что значения для селекта #shop соответствуют parent_id в БД
      success: function( response )  {
         $( 'select#cathegory' ).html( response )
      }
    } )
} )


Код сервера
$result = mysql_query( 'SELECT * FROM objects WHERE parent_id = ' . $_POST[ 'parent_id' ] );
while ( $row = mysql_fetch_array( $result, MYSQL_ASSOC ) ) {
    echo ( '<option value = '. $row[ 'cathegory_id' ].'>'. $row[ 'cathegory_name' ] .'</option>' );
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
on change первого селекта делать аякс запрос с валуе этого селекта, соответственно на сервер придет ид выбранного магазина. По нему делаете запрос в базу и достаете нужные для построения селекта данные, далее либо передаете их обратно в виде JSON и уже на клиенте яваскриптом формируете новый селект, либо прямо в пхп "рисуете" хтмл селекта и отдаете в ответ аяксу, соответственно нужно будет только вставить этот кусок вместо второго селекта.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
20 апр. 2024, в 13:56
7000 руб./за проект
20 апр. 2024, в 13:52
7000 руб./за проект
20 апр. 2024, в 13:23
1000 руб./за проект