Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Двойной выпадающий список (без перезагрузки)

Сообщения:  [1-6] 

 
 автор: Равечка   (01.05.2007 в 19:39)   письмо автору
 
   для: elenaki   (01.05.2007 в 15:58)
 

Большое спасибо. разобрался. все отлично работает.
еще раз спасибо.

   
 
 автор: elenaki   (01.05.2007 в 15:58)   письмо автору
 
   для: Равечка   (01.05.2007 в 14:53)
 

это первый селект (строится из базы, по клику на опции - вызов функции loadPolis())


<div id="nomoi"> 
&nbsp;
<select name="perif_nomos" onchange="loadPolis(this.options[this.selectedIndex].value)">
<option >Select District</option>

<? $nomo_query mysql_query("select nomo_id, nomo_name_".
$_SESSION["interface_lang"]." as nomo_name  from ".
$db_prefix."nav_nomos where peri_id = 
'
$peri_id' order by nomo_name_GR") or 
die(
mysql_error());
while (
$nomo_q mysql_fetch_array($nomo_query)){
    
$nomo_id     $nomo_q['nomo_id'];
    
$nomo_name     $nomo_q['nomo_name'];
?>
<option value="<?=$nomo_id;?><?if ($nomo_id == $nomos) echo " selected"?>>
<?=$nomo_name?></option>
<?}?></select></div>


это место для второго селекта, в нем пока ничего нет, нам нужно только имя, чтобы обратиться к нему из Java-script'a:


<div id="polis" name="polis"></div>


это функция loadPolis():

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
function loadPolis(id, lang) {
showLev()
url = 'select_polis.php?nomo_id=' + id;
    if (window.XMLHttpRequest) {
        req2 = new XMLHttpRequest();
        req2.onreadystatechange = processChangePolis;
        req2.open("GET", url, true);
        req2.send(null);

    } else if (window.ActiveXObject) {
        req2 = new ActiveXObject("Microsoft.XMLHTTP");
        if (req2) {
            req2.onreadystatechange = processChangePolis;
            req2.open("GET", url, true);
            req2.send();
        }
    }
}

function processChangePolis() {
    if (req2.readyState == 4) {
        if (req2.status == 200) {
            document.getElementById('polis').innerHTML=req2.responseText
        } else {
            alert("Error!" +
                req2.statusText);
        }
    }
}

</SCRIPT>


видно, что она обращается к файлу select_polis.php, который делает запрос к базе, выбирает город и строит селект, который потом и помещается в слой polis.

файл select_polis.php (переделываете под свои запросы):


<? include "config.inc.php";
session_start();
header("Content-type: text/html; charset=windows-1251"); 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0"false); 

$nomo_id intval($_GET["nomo_id"]); /// нам нужно только число...

 
echo "<select name=poli_id  onchange=\"window.location.href = this.options[this.selectedIndex].value\" style=\"background-color: #bdedf1; color: navy;\">";
 
echo 
"<option>Select City</option>";
 
$polis_name_query mysql_query("select id, 
poli_name_"
.$_SESSION["interface_lang"].
as poli_name from "
.$db_prefix."nav_polis 
where nomo_id = "
.$nomo_id) or 
die(
mysql_error());
    while (
$polis_name_q mysql_fetch_array($polis_name_query)) {
    
    
$polis_id       $polis_name_q['id'];
    
$poli_name   $polis_name_q['poli_name'];
    echo 
"<option value='view_polis.php?poli_id=".$polis_id."'>".$poli_name."</option>";
    }
echo 
"</select>";
?>


у меня там в селекте предусмотрен переход на страницу выбранного города. это можно убрать, если у формы будет кнопка Сабмит, у меня не было... возможны опечатки, копировала из разных файлов, вырезала лишнее, не проверяла.

   
 
 автор: bronenos   (01.05.2007 в 15:43)   письмо автору
 
   для: Равечка   (01.05.2007 в 14:53)
 

сколько примерно значений в списке?

   
 
 автор: Равечка   (01.05.2007 в 14:53)   письмо автору
 
   для: cheops   (05.04.2007 в 12:15)
 

эта система не подошла по ряду причин....

Может ли кто нибудь описать как сделать это с помощью аякса?

   
 
 автор: cheops   (05.04.2007 в 12:15)   письмо автору
 
   для: Равечка   (05.04.2007 в 03:29)
 

Здесь не требуется AJAX - посмотрите систему из "Головоломки на PHP для хакера" во вложении.

   
 
 автор: Равечка   (05.04.2007 в 03:29)   письмо автору
 
 

Ничего не смыслю с этой системе т.к. не знаю ява-скрипт. Прошу помогите...
у меня есть окно выбора <select> в зависимости от выбранного пункта в следущее окно выбора <select> должен подгрузиться список из MySQL
Есть ли люди которые могут накидать код без запросов, запросы я в состоянии сама буду вписать.
Помогите пожалуйста. работа горит.
Всем отписавшимся заранее спасибо.

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования