Проблема с запросом.

Ermitazh

Новичок
Проблема с запросом.

Имеется select форма.
PHP:
<select name="teenus" class="textfield" ">
<option value="vybor">--- Vybor ---</option>
<?

$m=mysql_query("SELECT id, name_".$lang." AS name FROM service_".$lang." ORDER BY 
name_".$lang."");
while($mm=mysql_fetch_array($m)){
$q=mysql_query
("SELECT id FROM iss WHERE lang='{$lang}'  AND  FIND_IN_SET('".$mm['id']."',service) <> 0 ");

$n=mysql_num_rows($q);
 if($n>0){
 echo'<option value="'.$mm[id].'"'.(($mm[id]==$teenus)?" selected":"").'>'.$mm[name].'</option>';}
					  }
          ?>
                </select>
И есть таблицы.

Таблица service_rus

id name_rus
2 s4eta
3 bumaga
34 igrushki

Таблица iss
id lang name service
10 rus Salon 2,3
11 rus Mashina 34, 2


Вообщем когда из select поля выбираю например Bumaga то на страницу выводятся Salon и Mashina, хотя должен был выводиться только Salon.
В service цифра 34 читается как 3 и 34
Помогите, что делать? Спасибо за внимание.
 

Ermitazh

Новичок
Первым запросом выбираю все названия из таблицы service_rus.
Которые потом идут в селект форму.

Второй запрос как раз ищет id этих названий в таблице iss в поле service.
 

kugu

Новичок
sage
Тут только построение селекта

Ermitazh
Покажи как потом выводишь на страницу.

З.Ы.
Вообще код ппц кривой. И структура бд не лучше.
 

Ermitazh

Новичок
Структуру бд не я делал. Поэтому приходиться исправлять как есть
 

kugu

Новичок
Тебе просто не подходит функция FIND_IN_SET

Как вариант сделай начальные и конечные запятые и ищи like '%,$id,%'
 

Ermitazh

Новичок
хорошо, щас попробую

-~{}~ 04.05.06 14:50:

kugu
Спасибо тебе огромное, вообщем тот код который я наверху написал работает полностью правильно. Ошибка была ниже. 2 запятые пропустил поэтому так долго и парился...
'%,".$teenused.",%'
 
Сверху