Sitealert

Рейтинг
469
Регистрация
30.09.2016

В любом случае, "было много доработок по коду разными программистами", каждый из которых отвечал за свой "кусок", то неплохо, если всё это проверит ещё один, отвечающий за безопасность. Надёжнее всего, если с ним налажены постоянные отношения: сам себе гадить не будет.

dma84:
А если

А если сервер на 386 процессоре? А если БД не на локалхосте и связь между серверами на древнем модеме? А если в таблице миллион строк? Есть конкретный вопрос и есть конкретный ответ.

---------- Добавлено 07.10.2016 в 01:31 ----------

dma84:
Или не слышали о таком?

Что за манера троллить на пустом месте...

Формируйте двухмерный массив и разбирайте его через двойной цикл.

LEOnidUKG:
Кто структуру делал этих тэгов ГЕНИЙ.

Тоже обратил внимание. Напрашивается отдельная таблица для тегов и столбец с id тегов в таблице новостей. Правда, пришлось бы часть работы перевалить на скрипт, но зато количество строк уменьшилось бы в разы.

tommy-gung:
SELECT DISTINCT `news_id` FROM `one` WHERE `tag` IN ('acer', 'ddr2');

Этот запрос выведет 1,3 и 4. А надо только 1 и 3.

Читабельность такая же. Убрали лишнюю операцию. Плюс к этому, если массив большой, он память жрёт.

tommy-gung:
Sitealert, мне интересен альтернативный код

Если взять за основу Ваш, то как-то так:

 //related posts

$categories = get_the_category();
$categories_id = '';
foreach($categories as $cat) {
$categories_id .= ','.$cat->cat_ID;
}
$categories_id = ltrim($categories_id, ',');
unset($categories);
$related_posts = get_posts(array(
'post_type' => 'tov',
'author' => $post->post_author,
'posts_per_page' => 20,
'orderby' => 'rand',
'category' => $categories_id,
'exclude' => $post->ID
));

Не понимаю вопроса. Вы не знаете, как сразу сформировать строку? Или вопрос ещё в чём-то?

tommy-gung:
Sitealert, а строка сама по себе, наверное, формируется?

Не понимаю Вашего сарказма. Просто я, как и Ваш оппонент, не понимаю, зачем сначала формировать массив, а уже из него - строку, вместо того, чтобы сразу сформировать строку, если Вы не собираетесь использовать этот массив для каких-то иных целей.

tommy-gung:
зачем?

Чтобы лишних движений не делать, хотя бы. Сказал бы ещё про экономию памяти, но больно массив маленький.

Sly32:

echo $categories_id;

print_r($categories_id);

И если с этим всё нормально, тогда смотреть запрос к БД.

Всего: 8084