Новое значение для переменной

Izrael

Гуру форума
Регистрация
11 Фев 2008
Сообщения
514
Реакции
65
Вопрос такой есть есть переменная
Код:
.$_POST['city_id']
она хранит данные из формы "название города" допустим
Код:
<select name="city_id" id="city" style="width:300px;">
                                                  <option value="4313">Абрамцево</option>
когда я вывожу ее на экран то она пишет мне 4313 а мне надо чтоб она вывела название самого города Абрамцево . как это реализовать ?
все города у меня хранятся в базе в двух ячейках city_id и name
 
Код:
$city_id = (int) $_POST['city_id'];
if(!$city_id){
die('error city_id');
}
$sql = "SELECT name
        FROM  sometable
        WHERE  city_id= $city_id";
 
$result = mysql_query($sql);
if (mysql_num_rows($result) ) {
  $row = mysql_fetch_assoc($result) ;
  $city_name = $row['name'];
}
 
  • Заблокирован
  • #3
проще заменить
HTML:
<option value="4313">Абрамцево</option>
на
HTML:
<option value="Абрамцево">Абрамцево</option>
И запросов к базе меньше будет.
 
Тогда надо внимание обратить на кодировку- могут быть ошибки.
+ насчёт количества запросов, один запрос по id полю очень недорогой и быстрый.
 
  • Заблокирован
  • #5
Для просмотра ссылки Войди или Зарегистрируйся, Оно конечно индексируется, но иногда сама операция подготовки запроса занимает больше времени чем сам запрос. На мелком проекте ваш вариант лучше.
 
проще заменить
HTML:
<option value="4313">Абрамцево</option>
на
HTML:
<option value="Абрамцево">Абрамцево</option>
И запросов к базе меньше будет.
дело в том что
Код:
<option value="4313">Абрамцево</option>
такое значение это уже другой скрипт выдает и id полюбому тоже нужно мне .
Пока пробую как подсказал Для просмотра ссылки Войди или Зарегистрируйся

вообщем у меня получилось но теперь скрипт выводит с непонятной кодировкой типо РњРѕСЃРєРІР° это что нужно сделать ?
 
дело в том что
Код:
<option value="4313">Абрамцево</option>
такое значение это уже другой скрипт выдает и id полюбому тоже нужно мне .
Пока пробую как подсказал Для просмотра ссылки Войди или Зарегистрируйся

вообщем у меня получилось но теперь скрипт выводит с непонятной кодировкой типо РњРѕСЃРєРІР° это что нужно сделать ?

KillDead подсказал совершенно верно, а насчет кодировки - посмотри в какой кодировке хранятся данные в полях БД и какая кодировка задана на странице где происходит вывод...
Без заморочек желательно Windows-1251 (cp1251) и там и там, или utf-8 в идеале.
 
Код:
function getCityName($id){
    $sql = mysql_query("select `name` from `cities` where `id`='".$id."' limit 1");
    if (is_resource($sql) && mysql_num_rows($sql)>0){
      return mysql_result($sql, 0);
}
  return false;
}

и перед подключением сделай
mysql_set_charset('cp1251');
 
Назад
Сверху