Перейти к содержимому


Партнерская программа Kredov

Рандом база данных

#11 eacl

eacl
    Topic Starter
  • Пользователь
  • 31 сообщений
  • Репутация: 1
0

Отправлено 14 Май 2012 - 22:09

Выслушаю все варианты! :D
matroskin8

Спасибо за конктретный пример, сейчас вникну...
  • 0

#12 eacl

eacl
    Topic Starter
  • Пользователь
  • 31 сообщений
  • Репутация: 1

Отправлено 14 Май 2012 - 22:35

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

<?php
$myText = 'Мой текст';
for($i = 0; $i < 10; $i++){
	 echo $myText;
}
?>
Собственно все. То, что содержится в переменной $myText будет выведено в нужном месте шаблона 10 раз.



Все б хорошо, но нужно что б искомый текст появлялся в 10 новостях....
  • 0

#13 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 14 Май 2012 - 23:07

Так а в чем проблема? Не получается реализовать алгоритм? Или в другом чем-то?

UPD. Уже понял в чем проблема... моя неточность :D Почему-то взбрело в голову, что полные тексты новостей выводятся в цикле на одной на странице. На самом деле, я так понимаю, имеем стандартный вариант, когда при выборе читать далее мы попадаем на полный текст новости, т.е. на одной странице - одна новость. В таком случае, вариант с циклом не подходит и пока что мне видится следующий вариант решения задачи. Новости выводятся в определенном порядке, т.е. сортированы по ID или дате. Соответственно, можно создать собственный запрос к БД, которым выбрать в массив ID последниx 10 новостей и при выводе полного текста новости проверить есть ли в полученном массиве ID выводимой новости. Если есть, то добавляем текст. Что-то типа такого:
// запрос
$query = "SELECT id FROM tbl_name ORDER BY id LIMIT 10";
$res = mysql_query($query);
$data = array();
while($row = mysql_fetch_assoc($res)){
$data[] = $row['id'];
}
// проверяем является ли статья одной из 10 последних
if(in_array($obj_id, $data)){
echo $myText;
}
Это лишь схема действий, конкретно - нужно смотреть что в БД, по какому параметру происходит сортировка, в какой переменной (свойстве) содержится id объекта (выводимой статьи) и т.д.
  • 0


#14 eacl

eacl
    Topic Starter
  • Пользователь
  • 31 сообщений
  • Репутация: 1

Отправлено 15 Май 2012 - 00:07

На самом деле, я так понимаю, имеем стандартный вариант, когда при выборе читать далее мы попадаем на полный текст новости, т.е. на одной странице - одна новость.

Верно


// запрос
$query = "SELECT id FROM tbl_name ORDER BY id LIMIT 10";
$res = mysql_query($query);
$data = array();
while($row = mysql_fetch_assoc($res)){
$data[] = $row['id'];
}
// проверяем является ли статья одной из 10 последних
if(in_array($obj_id, $data)){
echo $myText;
}


Как я понимаю, в данном коде нужно заменить только название таблицы бд на свою, и нужный текст из таблицы будет выводиться в 10 последних новостях? И до будет счастье...
  • 0

#15 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 15 Май 2012 - 07:13

Как я понимаю, в данном коде нужно заменить только название таблицы бд на свою

Не только. Я написал, что нужно убедиться, что сортировка при выводе производиться именно по ID. Если по дате, то нужно также сортировать по дате. Также переменную $obj_id я взял с потолка - на ее место необходимо подставить свойство ID объекта, т.е. тут уже как раз и нужно хоть чуть-чуть иметь опыт работы с самой CMS.
Да, и в запросе сортировать необходимо в обратном порядке, т.е. добавить DESC:
$query = "SELECT id FROM tbl_name ORDER BY id DESC LIMIT 10";

  • 0


#16 eacl

eacl
    Topic Starter
  • Пользователь
  • 31 сообщений
  • Репутация: 1

Отправлено 15 Май 2012 - 12:07

Не только. Я написал, что нужно убедиться, что сортировка при выводе производиться именно по ID. Если по дате, то нужно также сортировать по дате. Также переменную $obj_id я взял с потолка - на ее место необходимо подставить свойство ID объекта, т.е. тут уже как раз и нужно хоть чуть-чуть иметь опыт работы с самой CMS.
Да, и в запросе сортировать необходимо в обратном порядке, т.е. добавить DESC:

$query = "SELECT id FROM tbl_name ORDER BY id DESC LIMIT 10";


Как же все сложно...вот картинка новостей Изображениенужно что б нужный текст выводился в 10 новостях но только определенного раздела, например программы...если поможет могу дать ссылку на сайт, еще раз Вам спасибо! :D
  • 0

#17 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 15 Май 2012 - 13:10

Да картинка новостей абсолютно никак не поможет здесь. Еще раз повторюсь, что тема должна быть в соответствующем разделе (CMS DLE) по той причине, что кроме общего алгоритма, необходимы еще конкретные навыки работы с этой CMS. В частности, необходимо знать и понимать те моменты, которые озвучил выше:
1. По какому параметру происходит сортировка, чтобы выбрать именно последние 10 новостей.
2. В какой переменной (свойстве) содержится id объекта (выводимой статьи).
3. Как именно устроен шаблон.
  • 0


#18 eacl

eacl
    Topic Starter
  • Пользователь
  • 31 сообщений
  • Репутация: 1

Отправлено 15 Май 2012 - 13:32

А можно выбрать, в запросе, например номер id категории и последние 10 новостей вида 1-10post....а там просто уже постепенно добавлять 1-12, 1-15 и т.д. постепенно и удобно было б...
  • 0

#19 matroskin8

matroskin8
  • Пользователь PRO
  • 767 сообщений
  • Репутация: 143

Отправлено 15 Май 2012 - 14:05

Что-то совершенно не понял этот вопрос? Выбрать, конечно, можно... и совсем даже несложно... а дальше что?
  • 0


#20 eacl

eacl
    Topic Starter
  • Пользователь
  • 31 сообщений
  • Репутация: 1

Отправлено 15 Май 2012 - 14:19

и дописать таблицу или текст который нужно вставлять....
  • 0

robot

robot
  • Пользователь PRO
  • 2 652 сообщений
  • Репутация: 85


Оформление форума – IPBSkins.ru