|
|
|
|
|
для: elenaki
(01.05.2007 в 15:58)
| | Большое спасибо. разобрался. все отлично работает.
еще раз спасибо. | |
|
|
|
|
|
|
|
для: Равечка
(01.05.2007 в 14:53)
| | это первый селект (строится из базы, по клику на опции - вызов функции loadPolis())
<div id="nomoi">
<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>";
?>
|
у меня там в селекте предусмотрен переход на страницу выбранного города. это можно убрать, если у формы будет кнопка Сабмит, у меня не было... возможны опечатки, копировала из разных файлов, вырезала лишнее, не проверяла. | |
|
|
|
|
|
|
|
для: Равечка
(01.05.2007 в 14:53)
| | сколько примерно значений в списке? | |
|
|
|
|
|
|
|
для: cheops
(05.04.2007 в 12:15)
| | эта система не подошла по ряду причин....
Может ли кто нибудь описать как сделать это с помощью аякса? | |
|
|
|
|
|
|
|
для: Равечка
(05.04.2007 в 03:29)
| | Здесь не требуется AJAX - посмотрите систему из "Головоломки на PHP для хакера" во вложении. | |
|
|
|
|
|
|
| Ничего не смыслю с этой системе т.к. не знаю ява-скрипт. Прошу помогите...
у меня есть окно выбора <select> в зависимости от выбранного пункта в следущее окно выбора <select> должен подгрузиться список из MySQL
Есть ли люди которые могут накидать код без запросов, запросы я в состоянии сама буду вписать.
Помогите пожалуйста. работа горит.
Всем отписавшимся заранее спасибо. | |
|
|
|
|