присвоение значения переменной в цикле

slo_nik

Новичок
присвоение значения переменной в цикле

Здравствуйте.
подскажите начинающему как правильно сделать.
проблема в следующем.
есть форма для подачи объявления, в ней две пары выпадающих списков, списки формируются из данных с базы.
при выводе первого списка мне надо переменной присвоить значение, что бы использовать её в запросе для второго списка.
первый список формируется без проблем, смотрел исходный текст в браузере, переменные создаются, но во второй список нужная переменная не попдает.
в первом случае для получения данных я использовал while, а во втором do... while, во втором списке всё работает.
как мне решить эту проблему?
прикрепляю ссылку на форму и как всё написано.
ССЫЛКА
PHP:
<?php
require_once("connect.php");
error_reporting(E_ALL);
?>
<table align='center'>
<tr>
<th colspan='2'><?php if(isset($_GET['sell']) && isset($_GET['add'])){
                  echo "Продам";}
				  else{echo "Куплю";}?></th>
</tr>
<tr>
<td><form action='index.php' method='post'>
Регион :
</td>
<td>
<select name="Continent" id="Continent">
<?php
//выводим список регионов
$query = "SELECT * FROM `region`";
$cat = mysql_query($query);
if (!$cat) {echo "ошибка запроса";}
if (mysql_num_rows($cat) > 0){
	while($categories = mysql_fetch_array($cat)){
         //вот эта переменная
	$id_region = $categories['id_region'];
	echo "<option value='".$categories['id_region']."'>".$categories['name_region']."</option>";
	}
	$id_region = $categories['id_region'];
}
?>
</select></td>
</tr>
<tr>
<td>Город :</td>
<td><select name="Country1" id="Country1">
<?php
// выводим список городов для выбранного региона
echo $id_region;
$query = "SELECT * FROM `city` WHERE `id_region` = $id_region";
$city = mysql_query($query);
if(!city) echo "ошибка при обращении к базе";
if(mysql_num_rows($city) > 0){
	while($city_all = mysql_fetch_array($city)){
	echo "<option value='".$city_all['id_city']."'>".$city_all['name_city']."</option>";
	}
}
?>
</select></td>
</tr>
<tr>
<td>Категория :</td>
<td><select name="Country" id="Country">
<?php
// выводим категории товаров
$query = "SELECT * FROM `cat`";
$cat = mysql_query($query);
if(!cat) echo "ошибка при обращении к базе";
if(mysql_num_rows($cat) > 0){
	$cat_all = mysql_fetch_array($cat);
	$id_cat = $cat_all['id_cat'];
	do{
	printf("<option value='%s'>%s</option>",$cat_all['id_cat'],$cat_all['name_cat']);
	}
	while($cat_all = mysql_fetch_array($cat));
}
?>
</select></td>
</tr>
<tr>
<td>Подкатегория :</td>
<td><select name='city' id='city'>
<?php
//выводим подкатегории для выбранной категории
$query = "SELECT * FROM `cat_all` WHERE `id_cat` = $id_cat";
$categor = mysql_query($query);
if(!categor) echo "ошибка при обращении к базе";
if(mysql_num_rows($categor) > 0){
	$categor_all = mysql_fetch_array($categor);
	do{
	printf("<option value='%s'>%s</option>",$categor_all['id_cat_all'],$categor_all['name_cat_all']);
	}
	while($categor_all = mysql_fetch_array($categor));
}
?>
</select></td>
</tr>
</table>
 

slo_nik

Новичок
я прокомментировал её, в первом запросе переменная $id_region.
это моя вина, что я не полностью всё описал.
мне надо чтоб при выборе из первого списка подгружался второй.
я нашёл пример без использования базы данных, он работает, но мне надо что бы данные брались из базы, я попробовал переделать пример под свои нужды, для этого мне надо всё вынимать из базы, вот и пытаюсь это сделать.
с ajax и javascript я не знаком, если Вы можете мне помочь, то, пожалуйста, подскажите, как правильно сделать?
 

slo_nik

Новичок
Код:
<?php 
//выводим список регионов 
$query = "SELECT * FROM `region`"; 
$cat = mysql_query($query); 
if (!$cat) {echo "ошибка запроса";} 
if (mysql_num_rows($cat) > 0){ 
    while($categories = mysql_fetch_array($cat)){ 
         //вот эта переменная 
    $id_region = $categories['id_region']; 
    echo "<option value='".$categories['id_region']."'>".$categories['name_region']."</option>"; 
    } 
    $id_region = $categories['id_region']; 
} 
?>
это первый запрос
 

Фанат

oncle terrible
Команда форума
slo_nik
хорошо, это первый запрос. а где у тебя обрабатывается выбор из первого селекта, о котором ты говоришь?

-~{}~ 08.05.09 19:49:

иы простую форму сделать можешь, чтобы в одном скрипте был селект, а в другом выводилось выбранное значение?
 
Сверху