- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте уважаемые форумчане.
Нужна помощь спецов.
Есть тема на wordpress на ней на главной с помощью вложенных цыклов я вывожу посты по разным критериям сортировки.
Грубо говоря, получается сверху: "самые просматриваемые", под ними "новые" и в конце "по рейтингу".
И если с первыми двумя все норм, то вот третье условие пока никак.
Таким запросом я вывожу последние записи. На выходе получается: картинка, а под ней название поста.
Теперь сам вопрос:
У меня есть в БД таблица "rayt_post"
В ней поля:
1. id
2. post_id
3. value
Вот мне нужно вывести посты по убыванию значения поля "value"
То есть первый пост у которого в графе value самая большая цифра и дальше вниз.
Поле "value" содержит целое число.
Заранее, благодарен!
$sql = "SELECT `post_id` FROM rayt_post ORDER BY `value`";
$result = mysql_query($sql);
while ($row = mysql_fetch_assoc($result))
{
$res = mysql_fetch_assos(mysql_query("SELECT * FROM `wp_posts` WHERE `post_id`='{$row['post_id']}'"));
print_r($res);
}
Не помню как точно называется поле с номером поста в таблице wp_posts/
То есть первый пост у которого в графе value самая большая цифра и дальше вниз.
ORDER BY `value`";
Order by `value` DESC
Ну и логично LIMIT 0,10 (или сколько нужно записей - не все же?) добавить...
+ можно одним join-запросом сделать (у нас ведь индексы прописаны?)... И, возможно, имеет смысл кэшировать результат, чтоб хостер не выгонял
А как это вписать в мой запрос?
Ведь получается каждый раз когда мой цикл будет выполнятся, он будет запускать этот цикл для вывода всех 9 постов.
Я по 9 вывожу.
Короче самому пришлось убить 4 часа, но таки проблему решил. Может кому пригодится.
<?php $postids = $wpdb->get_col("SELECT * FROM rayt_postORDER BY value desc", 1);
if ($postids) {
foreach ($postids as $id) {
$post=get_post(intval($id));
setup_postdata($post);?>
<li>
<?php echo $ids ?>
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(' ') ?>" title="<?php the_title(); ?>" class="post-thumbnail"><img src='<?php echo kama_thumb_src ('w=180 &h=180 &q=75'); ?>' alt='' /> </a>
<?php } ?>
<div class="tumb_link"><a href="<?php the_permalink(' ') ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></div>
</li>
<?php } wp_reset_postdata(); }?>