Задавайте вопросы, мы ответим
Вы не зашли.
вопрос не совсем о mysql, но связан с ним... может кто сможет помочь.
у меня в форме поиска есть селекты которые выбирают из базы страну, регион подсаживается в зависимости от страны, и город привязан к региону... короче все как обычно
все три переменные передаются методом get (country=4®ion=19&city=166)
задача что бы при существовании переменных в строке, соответствующие страна, регнион и город подсаживались в селект...
со страной я решил эту проблемму (if($country == $row['country_id']) $temp = ' selected'; else $temp = null;), а с городом и регионом так не получаеться, скорее всего что селекты изначально не доступены пока не выбирешь страну...
я напишу весь код для страны и ргиона, если у кого есть такой опыт, подскажите как сделать... и можно ли вообще.
<?php
<!-- Select для страны -->
<select name="country" onChange="onChange(this,'1');document.getElementById('region').disabled=''; document.getElementById('city').innerHTML='';" class="input_city">
<option value='0'>- Выберите страну -</option>
<?php
function sel_country($a)
{
$b = isset($_POST['country'])?$_POST['country']:NULL;
if($a == $b) {
return 'selected="selected"';
}}
switch ($_SESSION['lang']) {
case '1' :
$query_country = "SELECT country_id,country_rus as name FROM country";
break ;
}
$res = mysql_query($query_country, $site) or die(mysql_error());
// выводим все строки из столбца name таблицы country
while($row = mysql_fetch_array($res)) {
if($country == $row['country_id']) $temp = ' selected'; else $temp = null;
echo "<option ".sel_country($row['country_id'])." value='".$row['country_id']."'".$temp.">" . $row['name'] . "</option>";
}
mysql_free_result($res);
?>
</select>
<!-- Select для региона -->
<select name="region" id="region" <?$_POST['country']?'':'disabled="disabled"')?> onChange="onChange(this,'2');document.getElementById('city').disabled='';" class="input_city" />
<option value='0'>- Выберите регион -</option>
<?php
function sel_region($a)
{
$b = isset($_POST['region'])?$_POST['region']:NULL;
if($a == $b) {
$_SESSION['recoun']='poi' ;
return 'selected="selected"';
}
}
if(isset($_POST['country']))
{
switch ($_SESSION['lang']) {
case '1' :
$query = "SELECT region_id,region_rus as name FROM `region` WHERE `country_id`='".(int)$_POST['country']."'";
break ;
}
$res = mysql_query($query);
while($row = mysql_fetch_array($res))
{
if($region == $row['region_id']) $temp_r = ' selected'; else $temp_r = null;
echo "<option ".sel_region($row['region_id'])." value='" . $row['region_id'] . "'".$temp_r.">" . $row['name'] . "</option>";
}
mysql_free_result($res);
}
?>
Неактивен
Вопросы по PHP следует задавать на webew.ru.
Неактивен
да я уже где только не задавал... думал может тут кто знает, поможет...
Неактивен
webew ≠ «где только» Там правда есть кучка специалистов PHP, которые смогут
ответить на Ваш вопрос. Насколько я могу судить, у Вас подгружаются регион-город
через JavaScript, и проблема только в том, чтобы указать в неподгруженном слу-
чае нужные элементы. Я бы просто тупо добавил нужный option (один) с правильным
значением и в случае, если пользователь кликнет на select, уже подгружал недо-
стающие строки.
Неактивен