Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 22.09.2003, 17:12
Julia_1 вне форума Посмотреть профиль Отправить личное сообщение для Julia_1 Найти все сообщения от Julia_1
  № 1  
Julia_1

Регистрация: Sep 2003
Сообщений: 6
По умолчанию О списках <select>

Ребята, помогите, пожайлуста!
Как-нибудь можно связать два списка <select>.
То есть при выборе определенного элемента из первого списка
необходимо, чтобы второй список менял свои элементы.
Эти списки должны находится в одном form

Мне это надо для следующего:
Есть БД (пусть 2 связанные таблицы).
В первый список загружается инфо из поля первой таблицы с помощью "SELECT TABLE1 FROM BD".
А во второй список надо, чтобы выгружалась инфо из второй таблицы в соответствии с выбранным полем из первой.

Помогите, не знаю как сделать. Php недавно изучаю.

Старый 22.09.2003, 17:19
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 2  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
В чем именно проблема?

В том, как изменить второй select или в том, как загрузить требуемые для этого данные?
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 22.09.2003, 17:31
Julia_1 вне форума Посмотреть профиль Отправить личное сообщение для Julia_1 Найти все сообщения от Julia_1
  № 3  
Julia_1

Регистрация: Sep 2003
Сообщений: 6
Как изменить второй select!

Старый 22.09.2003, 17:43
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 4  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Код:
<script>
function update_s2() {
  var selected = document.main.s1[document.main.s1.selectedIndex].value;
  document.main.s2.clear;
  var i;
  for(i=0; i<10; i++) {
    document.main.s2.options[i] = new Option(selected+" "+i,i,false,false);
  }
}
</script>
<form name="main">
  <select name="s1" onChange="update_s2()">
    <option value="a">foo</option>
    <option value="b">bar</option>
    <option value="c">buzz</option>
  </select>
  <select name="s2">
  </select>
</form>
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 22.09.2003, 17:52
Julia_1 вне форума Посмотреть профиль Отправить личное сообщение для Julia_1 Найти все сообщения от Julia_1
  № 5  
Julia_1

Регистрация: Sep 2003
Сообщений: 6
Большое спасибо! Я сейчас попробую это запустить.
Что это за язык <script> тут </script>?


Последний раз редактировалось Julia_1; 22.09.2003 в 17:55.
Старый 22.09.2003, 17:57
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 6  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Javascript.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 22.09.2003, 17:58
Julia_1 вне форума Посмотреть профиль Отправить личное сообщение для Julia_1 Найти все сообщения от Julia_1
  № 7  
Julia_1

Регистрация: Sep 2003
Сообщений: 6
А не используя JavaScript как-нибудь можно сделать?

Старый 22.09.2003, 18:05
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 8  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Цитата:
Оригинал написал(а) Julia_1
А не используя JavaScript как-нибудь можно сделать?
Можно. Где-то так (пишу без проверки):

PHP код:
<?php

if (isset($_POST['action'] && $_POST['action']!='') {
  
// Обрабатываем форму
}
else {
  
$s1selected = isset($_POST['s1'])?$_POST['s1']:'';
  
$s1options = array('a'=>'foo','b'=>'bar','c'=>'buzz');
  
?>
<form name="main" method="post" action="foo.php">
  <input type="hidden" name="action" value="something">
  <select name="s1" onChange="document.main.action.value=''; document.main.submit()">
  <?php
  
foreach($s1options as $key=>$value) {
    
$isSelected = ($key==$s1selected)?' selected':'';
    echo 
'<option'.$isSelected.' value="'.htmlspecialchars($key).'">'.htmlspecialchars($value).'</option>';
  }
  
?>
  </select>
  <select name="s2">
  <?php
    Выводим option
'ы для s2
  ?>
  </select>
</form>
<?php
}
?>
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 22.09.2003, 18:12
Julia_1 вне форума Посмотреть профиль Отправить личное сообщение для Julia_1 Найти все сообщения от Julia_1
  № 9  
Julia_1

Регистрация: Sep 2003
Сообщений: 6
Еще раз большое спасибо! Я уже сама проверю.
Мне надо было от чего-то оттолкнуться. )

Создать новую тему   Часовой пояс GMT +4, время: 08:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 08:25.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.