PHP: $query=('SELECT DISTINCT recipient AS field,id_call FROM Calls WHERE phone_number=$phone_number order by recipient'); $result=mysql_query($query); echo('<select name="SELECT" size=7 multiple>'); while($row=mysql_fetch_array($result)) { echo('<option value='.$row['id_call'].'>'.$row['field'].'</option>'); } echo('</select><br>'); Этот код работает только в случае, если нету условия WHERE phone_number=$_SESSION['phone_number'] или такого варианта, как указано в коде. Т.е. код срабатывает только в том случае, когда нужно вывести всё содержимое колонки recipient. В чём может быть глюк?
Напиши сначала, что ты хочешь. Код не сработает уже потому, что в первой строке у тебя mysql запрос в одинарных кавычках, а ты подставляешь переменную $phone_number. И почему в скобках? В двойные возьми "SELECT .... $phone_number ..."
YSandro, не имеет значения в каких кавычках записывать запрос, при одинарных интерпретатор не поймет переменную $phone_number в том виде, в каком она сейчас задана и все.
Исправил PHP: $query="SELECT DISTINCT recipient AS field, id_call FROM Calls WHERE phone_number='$phone_number'"; Но почему не срабатывает DISTINCT? Этот запрос показывает полностью весь список, а по идеет должен показать только по 1 экземпляру. Может убрать нафиг id из заропса?
Точно! Я чуть-чуть подправил этот код PHP: $query="SELECT DISTINCT recipient AS field,recipient FROM Calls WHERE phone_number='$phone_number' order by recipient"; $result=mysql_query($query); echo('<select name="SELECT" size=7 multiple>'); while($row=mysql_fetch_array($result)) { echo('<option value='.$row['recipient'].'>'.$row['field'].'</option>'); } echo('</select><br>'); Если не использовать id, тогда данные в списке не повторяются.