для начала ошибка здесь->$vsego=intval($allnews/$kolvo);
у вас получается 1, а должно быть 2
так хотеть нельзя. надо хотеть так:
?php
do
{
.....
$a=2;
$b=$a+2;
printf (
$b;
}
while ;
?>
вы хотите делать так:
echo 2+2;
а можно так:
$a=2;$b=$a+2;echo $b;
Toker, что вам мешает сначала обработать данные, а потом их выводить?
Toker, если я правильно понимаю, то в функции вы хотите обработать данные, чтобы потом их вывести?
П.С. О_о
покажите пример функции, которую вы хотите там разместить
туда где:
SELECT p.id, p.date, p.short_story, p.xfields, p.title, p.category, p.alt_name FROM dle_post p LEFT JOIN dle_post_extras e ON (p.id=e.news_id) WHERE p.approve=1 AND p.date >= '2012-07-25 19:11:00' - INTERVAL 1 MONTH AND p.date < '2012-07-25 19:11:00' ORDER BY rating DESC, comm_num DESC, news_read DESC, date DESC LIMIT 0,10
у вас скорей всего в "dle_post" и "dle_post_extra" есть поле "rating". Mysql не знает по какому из них сортировать.
Т.е. ван надо либо:
ORDER BY p.rating DESC
либо:
ORDER BY e.rating DESC
rusbody, расскажите, что вам конкретно нужно
эммм...
SELECT * FROM table WHERE id<19 AND tovar='osnovnoy' ORDER BY id DESC
?