
04.10.2009, 01:19
|
|
Новичок
Регистрация: 20.01.2009
Сообщений: 27
Провел на форуме: 47153
Репутация:
7
|
|
мой вариант без Jqeury ! работает в ОПЕРЕ 100% в других не тестил.
содержимое файла 1.php
PHP код:
<script>
function AjaxFunc ()
{
x = document.getElementById("select");//выбераем наш селект
x_send = x.selectedIndex; //Теперь x_send это то значение которое выбрали
//тут создаю обьект
if(window.XMLHttpRequest){
ajax1 = new XMLHttpRequest();
}
else
if(window.ActiveXObject)
{
ajax1 = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
return;
};
ajax1.open("GET","ajax.php?select="+x_send, true);//делаю опен. Селект передаю через сылку
ajax1.send(null);// так вроде надо))
ajax1.onreadystatechange = function()// тут обрабатываю то что пришло
{
if (ajax1.readyState == 4 && ajax1.status == 200)
{
a = document.getElementById("div");
a.innerHTML = ajax1.responseText;
};
}
};
</script>
<select name="Strana" onchange='AjaxFunc()' id="select" >
<?php
// тут должна быть функция mysql_pconnect
mysql_select_db("Magaz");// в моем случае база называлась МАГАЗ
$sql = "SELECT * FROM strani";// выбераю все страны
$sql_result = mysql_query($sql);
$sql_arr = mysql_fetch_array($sql_result);
do {
echo ("<option id='".$sql_arr['id']."'>".$sql_arr['strana']."
</option>");// выводим список всех стран в селекте
}
while ($sql_arr = mysql_fetch_array($sql_result))
?>
</select>
<form id="div">
//сюда мы поместим наш ответ с городами
</form>
Содержимое файла ajax.php
PHP код:
<?php
// тут также должна быть функция mysql_connect
mysql_select_db("Magaz");// опять подключаемся к базе
$sql = "SELECT * FROM gorod WHERE id_strana = ".$_GET['select'];// в $_GET['select'] у нас содержиться // код страны которую выбрал пользователь. Выбираю все где код страны равен $_GET['select']
$sql_result = mysql_query($sql);
$sql_fetch_array = mysql_fetch_array($sql_result);
//формирую ответ
echo ("<select name='gorod'>");
do {
echo ("
<option>".$sql_fetch_array['gorod']."</option>");
}
while ($sql_fetch_array = mysql_fetch_array($sql_result));
echo ('</select>');
?>
Сделал очень быстро! может гденить работать не будет! надо проверить еще на иньекции.
И еще чтоб меньше было гемора поменял Id стран на 0 и 1.
Последний раз редактировалось K0rINf; 04.10.2009 в 02:26..
|
|
|