Вы уверены, что это нужно и нужно именно последним шагом?
При нечетном кол-ве элементов массива, последний элемент продублирован. Эта строчка кода исправляет. В данном случае повторений не будет это id товаров (уникальный)
Данный скрипт нужен для перемешивания цен товаров.
Сначала сортировка по ценам в mysql -> массив id товаров -> перемешивание id
Протестировал при четном и нечетном, всё ок. (Добавление)
В общем след. последовательность: первый элемент, последний, 2 элемент, предпоследний (2 с конца) и т.д. (Добавление)
Всё, разобрался, кому интересно, вот код:
$var=htmlspecialchars($var);//меняем все <> итд на мнемоники &lg $gt итд
$var=strip_tags($var);//вырезаем теги хотя непонятно откуда они возьмутся раз мы их уже заменили
$var=htmlentities($var,ENT_QUOTES,"utf-8");//все что осталось меняем к хренам на html-сущности!...включая мнемоники полученые в 1ой замене...УРААА!!! вперед до победного!!!
$var=stripslashes($var);//хз откуда в этой каше возьмутся слэши(если были то они уже давно стали html-сущностями) но меняем и их...они хитрые и коварные...могли пролезть
DeepVarvar Спасибо за информацию. Попробую сейчас сделать, как сделаю - отпишусь о результате (Добавление) DeepVarvar Огромное спасибо. Всё замечательно работает
Вот полный код:
Здравствуйте, уважаемые программисты.
Делаю систему поиска на сайте. И столкнулся с проблемой выборки из двух таблиц одновременно.
Структура таблиц такова:
Имеется следующие таблицы
articles_1
id
name
text
$query="SELECT *, MATCH name AGAINST ('$search_words') + MATCH text AGAINST ('$search_words') as relev FROM articles_1 WHERE MATCH name AGAINST ('$search_words') + MATCH text AGAINST ('$search_words') > 0 ORDER BY relev DESC";
Возникли следующие вопросы:
1. В искомом тексте присутствует слово "Поисковый". Почему MATCH ... AGAINST не находит текст по частям слова, а ищет по целым словам? Например, я отправляю запрос "поисковый" - оно находит. А если запрос "поиск" - то уже не находит. Как это исправить?
2. Необходимо сделать выборку из двух таблиц базы данных, и отсортировать все выбранные данные по релевантности. Подскажите пожалуйста, как это сделать? (Добавление)
С первым вопросом я разобрался, со вторым только частично, по релевантности отсортировал.
Вот изменённый код:
AGAINST('*$query_search*' IN BOOLEAN MODE) > 0 ORDER BY relev DESC;";
Остался только самый главный вопрос: выборка из двух таблиц одновременно, используя релевантную сортировку по всем выбранным строкам. Подскажите, как это сделать в данной ситуации?