Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

2 зависимых select (PHP+MySql+java)

19K
28 ноября 2009 года
bulat
29 / / 02.12.2007
Привет всем... Помогите!! Не могу понять как сделать так:
Есть 2 поля: марка и модель автомобиля, список моделей авто зависит от выбранной марки, но при этом модели должны загружаться из базы данных MySql и страница не должна перезагружаться.
Искал в интернете, везде написано про Ajax, а возможно ли сделать не используя Ajax
13
28 ноября 2009 года
RussianSpy
3.0K / / 04.07.2006
Возможно, если вы сразу все значения загрузите на этапе формирования страницы в JavaScript массивы и будете ими оперировать с помощью скрипта прямо на странице
19K
28 ноября 2009 года
bulat
29 / / 02.12.2007
А можно поподробнее, или небольшой пример
19K
28 ноября 2009 года
bulat
29 / / 02.12.2007
Ну хоть кто-нибудь, приведите небольшой пример пожалуйста
244
28 ноября 2009 года
UAS
2.0K / / 19.07.2006
Ну мне лично впадлу париться. Так что вот простенький быдлокодский, но понятный пример. Работоспособность не проверял, показана в общем лишь идея.
Код:
<?php
// т.е. как бы данный массив должен у Вас из БД заполняться.
$cars_models = array(
    "Mazda" => array("RX-7","RX-8"),
    "Subaru" => array("Impreza","Subaru")
);
?>

<html>
<head><title>Z kfvth</title></head>
<body>
<script type="text/javascript">
/*
формируем список на JavaScript, аналогичный $cars_models, для динамики нужной и чтобы не юзать AJAX и прочие прелести жизни
для этого юзайте foreach и прочее, чтобы вывести содержимое массива в текст

получим что-то, типа:
var cars_models = {
    "Mazda" : ["RX-7","RX-8"],
    "Subaru": ["Impreza","Subaru"]
};
*/

load_models(obj) {
    // получаете значение выбранного пункта, т.е. obj.value
    // и просто загружаете данные во второй select с id = "ya_select2"
    // как загружать - читайте. Правильно через DOM, вроде и с innerHTML корректно будет работать
}

};

</script>

<-- Здесь список марок -->
<select id="ya_select1" &#111;&#110;select="load_models(this)">
    <!-- Вывод здесь также делайте с PHP -->
    <option value="Mazda">Mazda</option>
    <option value="Subaru">Subaru</option>
</select>

<!-- Здесь список моделей -->
<select id="ya_select2"></select>


</body>
</html>


Вот простенький код. Зато понятный. По логике - неверно задавать марку как ключ, так как в БД у вас, скорее всего, есть поле id, его-то и надо исопльзовать. Ну переделать сами сможете. Ну и функцию load_module(obj) я бы тоже как-нибудь переделал бы.

Кстати, java != javascript.
19K
28 ноября 2009 года
bulat
29 / / 02.12.2007
Спасибо! А если использовать Ajax, есть простенькие примеры, желательно тоже про автомобили... И вообще как лучше сделать на Ajax или не используя его
244
28 ноября 2009 года
UAS
2.0K / / 19.07.2006
Смотря какой объём данных. Хотя, лучше на AJAX. Так как тогда данные будут дергаться только при необходимости, а не при каждой загрузке страницы.
Если же проект не нагрузочный, да и записей в таблице мало, то не имеет смысла с AJAX заморачиваться.

Пример приводить не буду, ибо лень. Тем более в инете про динамические списки + Ajax примеров и прочего просто столько, что эскаватором не перекопать.
21K
02 декабря 2009 года
DeamonShan
65 / / 14.05.2008
jQuery - отлично справится с этой задачей...
37K
06 декабря 2009 года
elmaster
23 / / 11.03.2009
А как сделать вывод данных в 2-х уровневый выпадающий список чисто на php+html?? т.е. имеются 2 таблицы и вывод данных во втором выпадающем списке зависит от выбора данных в первом выпадающем списке из второй таблицы.
Вот сделал вывод из первой таблицы, не могу понять как сделать вывод данных во втором выпадающем списке из второй второй таблицы.
<?php
$db=mysql_connect('localhost','root','');
mysql_select_db('laba2',$db);
mysql_query('set names cp1251');
$x1=mysql_query('select * from t1 order by name');
$x2=mysql_query('select * from t2 order by name');
echo '<select name="first_list">';
echo '<option value="">Please choose</option>';
while ($row=mysql_fetch_assoc($x1))
{
echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';
}
echo '</select>';
?>
55K
14 декабря 2009 года
Arguefedeelve
5 / / 09.12.2009
Здравствуйте
Вообщем есть такая формочка:
Код:<select name="id"> <option value="0">Все страны</option> <option value="1">Австралия</option> <option value="2">Австрия</option> <option value="3">Азербайджан</option></select>Нужно добавить кусочек кода, например на JS, так чтоб код сразу выбирал определённое значение. Т.е. чтоб не было стандартно выбрано "Все страны".
Помогите плиз, как это сделать?
244
14 декабря 2009 года
UAS
2.0K / / 19.07.2006
 
Код:
window.onload = function() {
    document.getElementsByName("id")[0].value = 3;
}

Что-то типа такого. МОжет есть ошибка в имени функции - в гугл лень лезть.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог