Удалить повторяющиеся результаты из массива PHP из запроса MySQL

Я ищу способ удалить повторяющиеся значения из массива PHP из результирующего запроса MySQL. То, что у меня есть до сих пор, дает мне запрос, который я хочу, но постоянно показывает любые дубликаты. Мне нужно удалить их для меню навигации. Любая помощь будет оценена по достоинству.

Это то, что у меня пока...

$c_search = mysql_query("SELECT * FROM members WHERE interest1 LIKE '%$input%' or interest2 LIKE '%$input%' or interest3 LIKE '%$input%'");
$array = Array();
while($rows = mysql_fetch_assoc($c_search)) {
array_push($array, $rows['interest1']);
array_push($array, $rows['interest2']);
array_push($array, $rows['interest3']);
for($i=0; $i<count($array); $i++) {
echo $array[$i] . "\n";
}
}

Я попытался изменить запрос MySQL, чтобы использовать DISTINCT, но не повезло. Я пытался использовать array_unique($array, SORT_STRING), но не повезло. Не уверен, что еще попробовать. Пожалуйста, помогите, спасибо.


person itgeek25    schedule 21.04.2012    source источник
comment
Проблема, вероятно, с вашим sql-запросом   -  person MrFoh    schedule 22.04.2012
comment
Приведите пример вашего окончательного массива и желаемого массива.   -  person sberry    schedule 22.04.2012
comment
Почему array_unique не работает? Это странно.   -  person Taha Paksu    schedule 22.04.2012
comment
DISTINCT поможет, но зависит от того, где вы его использовали. вам нужно что-то вроде SELECT DISTINCT interest1, DISTINCT interest2... FROM .....   -  person Lawrence Cherone    schedule 22.04.2012
comment
$c_search = mysql_query(ВЫБЕРИТЕ ОТЛИЧНЫЕ интерес1 ОТ участников, ГДЕ интерес1 НРАВИТСЯ '%$input%'); while($rows = mysql_fetch_assoc($c_search)) { $result = $rows['interest1']; эхо $ результат. \n; } это работает для запроса одной строки   -  person itgeek25    schedule 22.04.2012
comment
array_unique не показывает никаких результатов, если только я не использую array_values ​​для реструктуризации массива, но результаты работают, только если я печатаю_r. Я не могу повторить, чтобы сделать их более удобными для пользователя. ????   -  person itgeek25    schedule 22.04.2012


Ответы (1)


Один из вариантов: создавать свои массивы вручную, выполняя проверку if (!in_array($array))

person Ruslan Osipov    schedule 21.04.2012
comment
Я даже не думал об этом. Все еще новичок в php. Но это здорово. Кроме того, я проверил свой запрос MySQL, и он не работал. Я не проверял это сначала, слишком много веры в себя. DISTINCT работает, о чем упомянул Лоуренс Чероне. Спасибо, ребята, за вашу помощь и быстрые ответы. - person itgeek25; 22.04.2012