X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Создать два связанных выпадающих списка
Ирина267
Ирина267
Topic Starter сообщение 8.5.2012, 22:44; Ответить: Ирина267
Сообщение #1


Добрый вечер...У меня такая проблема...имеется форма ввода, необходимо создать два списка вид и категория,с одним списком проблем нет, информация подгружается из базы..а вот со вторым проблема...нужно чтобы подгружались данные из другого справочника с учетом выбранного варианта из первого списка...Есть две таблицы: вид (поля id и vid) и справочник(id, category, vid_id в этом поле храняться id из таблицы вид ). Помогите пожалуйста...
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 9.5.2012, 0:03; Ответить: matroskin8
Сообщение #2


Ну так а в чем проблема? Вытаскиваете в выпадающий список виды, где значением каждого пункта списка будет id конкретного вида. Выбранный id передаете в обработчик (jajx'ом или по старинке) и по id выбираются нужные значения из справочника.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ирина267
Ирина267
Topic Starter сообщение 9.5.2012, 9:49; Ответить: Ирина267
Сообщение #3


Я так и хочу сделать, но вот без jajx можно это как-то сделать??? я новичок...учусь ещё..
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 9.5.2012, 11:55; Ответить: matroskin8
Сообщение #4


Конечно можно. Вот пример в самом общем виде.
Скрипт:
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("test");
mysql_query("SET NAMES utf8");
// выбираем виды
$query = "SELECT * FROM view";
$res = mysql_query($query) or die(mysql_error());
$data = array();
while($row = mysql_fetch_assoc($res)){
// получаем массив видов
$data[] = $row;
}

if($_POST['submit']){
// выбираем данные из справочника
$id = (int)$_POST['id'];
$query = "SELECT category FROM catalog WHERE vid_id = $id";
$res = mysql_query($query) or die(mysql_error());

$category = array();
while($row = mysql_fetch_assoc($res)){
  // получаем массив данных из справочника
  $category[] = $row;
}
}
?>
<table border="1" width="500">
<tr>
  <td width="250">
  <form method="post" action="#">
   <select name="id">
    <? foreach($data as $item) : ?>
    <option value="<?=$item['id']?>"><?=$item['vid']?></option>
    <? endforeach; ?>
   </select>
   <p><input type="submit" name="submit" value="Отправить"></p>
  </form>
  </td>

  <td width="250">
   <? if($category) : ?>
    <? foreach($category as $item) : ?>
     <p><?=$item['category']?></p>
    <? endforeach; ?>
   <? else : ?>
    <p>Выберите вид</p>
   <? endif; ?>
  </td>
</table>

На всякий случай скрины таблиц и скрипт с дампом прикладываю:
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 

Прикрепленные файлы
Прикрепленный файл  select.zip ( 18,55 килобайт ) Кол-во скачиваний: 109
 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ирина267
Ирина267
Topic Starter сообщение 9.5.2012, 14:50; Ответить: Ирина267
Сообщение #5


Спасибо огромное...работает...вместо таблицы сделала второй выпадающий список...но маленькая проблема....извини, что опять помощи прошу...выбираю вид. нажимаю отправить...во втором списке подгружается то что нужно...но в первом поле все время остается первый в списке вид
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 9.5.2012, 16:40; Ответить: matroskin8
Сообщение #6


Добавить проверку в цикл вывода списка - если id вида равняется содержимому переменной id, то делаем элемент списка выбранным. Вместо:
<option value="<?=$item['id']?>"><?=$item['vid']?></option>

Пишем:
<option <?php if($item['id'] == $id) echo selected ?> value="<?=$item['id']?>"><?=$item['vid']?></option>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ирина267
Ирина267
Topic Starter сообщение 9.5.2012, 19:59; Ответить: Ирина267
Сообщение #7


Все сделала...спасибо огромное, без вас бы еще месяц думала....подставила все в свою форму....просить конечно уже не удобно....ещё одна проблема....попробую сама решить....
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 9.5.2012, 20:38; Ответить: matroskin8
Сообщение #8


Попробуйте. Как говорится, лучший опыт - это свой опыт, приобретенный в процессе обучения методом проб и ошибок :D
Перед решением задачи не лишним будет продумать и составить алгоритм, можно даже на бумаге - он значительно облегчит и ускорит процесс ее решения.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ирина267
Ирина267
Topic Starter сообщение 9.5.2012, 21:22; Ответить: Ирина267
Сообщение #9


Хех)))как-то без результатов...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Ирина267
Ирина267
Topic Starter сообщение 9.5.2012, 21:54; Ответить: Ирина267
Сообщение #10


Посмотрите пожалуйста....Эта моя форма ввода в базу данных...теперь такая проблема...при нажатии на кнопку "Выбрать" срабатывает скрипт, который должен срабатываться при нажатии "Добавить". Вопрос....вообще может ли быть два submit c двумя form в одной странице....Направьте на путь истинный....
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Создать видеоканал лучше в ютуб или телеграм?
10 uahomka 1793 24.3.2024, 4:21
автор: Alexand3r
Открытая тема (нет новых ответов) Как создать бота Телеграм с приемом оплат?
0 rownong27 414 4.3.2024, 0:51
автор: rownong27
Открытая тема (нет новых ответов) Хочу создать сайт кино.
12 jreset26 1823 30.1.2024, 0:12
автор: Liudmila
Открытая тема (нет новых ответов) Два сайта р травах и народной медицине Восстановленные на wordpress
2 tbr82 2147 19.5.2022, 0:52
автор: tbr82
Открытая тема (нет новых ответов) Нужно создать букс (на местной валюте)
0 imvaisov 1447 10.7.2020, 15:08
автор: imvaisov


 



RSS Текстовая версия Сейчас: 29.3.2024, 10:18
Дизайн