SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 09.08.2010 19:26:57

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

нужна помощь...

вопрос не совсем о mysql, но связан с ним... может кто сможет помочь.

у меня в форме поиска есть селекты которые выбирают из базы страну, регион подсаживается в зависимости от страны, и город привязан к региону... короче все как обычноsmile

все три переменные передаются методом get (country=4&region=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 для региона    -->      
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <select name="region" id="region" <?sad$_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);
}      
?>

Неактивен

 

#2 10.08.2010 11:22:07

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: нужна помощь...

Вопросы по PHP следует задавать на webew.ru.

Неактивен

 

#3 10.08.2010 19:23:01

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: нужна помощь...

да я уже где только не задавал... думал может тут кто знает, поможет...

Неактивен

 

#4 10.08.2010 19:46:31

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: нужна помощь...

webew ≠ «где только» smile Там правда есть кучка специалистов PHP, которые смогут
ответить на Ваш вопрос. Насколько я могу судить, у Вас подгружаются регион-город
через JavaScript, и проблема только в том, чтобы указать в неподгруженном слу-
чае нужные элементы. Я бы просто тупо добавил нужный option (один) с правильным
значением и в случае, если пользователь кликнет на select, уже подгружал недо-
стающие строки.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson