Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Проблема (Шаблон. превью новостей --> проблема)
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
Помог: 2 раз(а)
[+]
наткнулся на фруме на статью о том, что сам по себе PHP и есть не плохой шблонизатор, и справляетс с этой задачей на 95 процентов... использовал тот код. Попробовал на скриптике который сам химичил. Вывод превью новостей из базы со ссылкой Read more///. Вроде бы работало. вот только сколько оборотов делает цикл по массиву из базы, на сколько экранов размножается страница... в чем прикол? я новичок!!! и самоучка
$result = mysql_query ("SELECT `id` , `title` , `summary` , `content`, `view`,`date`
FROM `articles`
ORDER BY `id`
");
if (!$result){ die (mysql_error());
}
for ($c=0; $c<5; $c++)
{
$f = mysql_fetch_array($result);
$title = "$f[title]";
$summary = "$f[summary]";
$view = "$f[view]";
$date = "$f[date]";
include "template.html";
}
?>
ну и темлейт
<div id="content">
<?=$title?>
<?=$summary?>
<?='<a href="full.php?do=readnews&id= '.$f['id'].'"> Вся стаття... </a>';?>
<div><?=$view?> Переглядів</div>
<?=$date?> (Добавление)
Никто ничё??? не подскажет?77 с ума с этими пиашпи можна сойти... называется смотрю в книгу вижу фигу (Добавление)
отключаю CSS - то все нормально конечно, но с таблицей стилей....
dXdYdZ
Отправлено: 26 Октября, 2014 - 19:57:47
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
Не совсем понятно, в чём проблема.
file.shreder
Отправлено: 27 Октября, 2014 - 17:29:05
Посетитель
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
и по новой...
---------------------------
header
__________________
новость2
--------------------------
footer
----------------- и так до конца списка.. а должно же быть
хидер
---------------
новость1
новость2
новость3...
----------------------------
футер (Добавление)
так понятно??? (Добавление)
сам шаблон повторяется
Tyoma5891
Отправлено: 27 Октября, 2014 - 17:47:05
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
так у Вас шаблон инклюдится в цикле каждый раз) от этого и так и получается...
Вам нужно в самом шаблоне в цикле выводить необходимые там где надо Вам данные...
file.shreder
Отправлено: 27 Октября, 2014 - 17:49:38
Посетитель
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
Помог: 2 раз(а)
[+]
Tyoma5891 пишет:
так у Вас шаблон инклюдится в цикле каждый раз) от этого и так и получается...
Вам нужно в самом шаблоне в цикле выводить необходимые там где надо Вам данные...
а можно пример привести, с моим кодом.. как что и куда? (Добавление)
Tyoma5891 пишет:
так у Вас шаблон инклюдится в цикле каждый раз) от этого и так и получается...
Вам нужно в самом шаблоне в цикле выводить необходимые там где надо Вам данные...
если инклуд вывожу за пределы цыкла то выводится в шаблоне только одна запись (Добавление)
for ($c=0; $c<5; $c++)
{
$f = mysql_fetch_array($result);
$title = "$f[title]";
$summary = "$f[summary]";
$view = "$f[view]";
$date = "$f[date]";
}
include "template.html"; так что ли? (Добавление)
А в другом скрипте, все вроде работает, а вот название статьи и анонс не записываются в базу данных на кирилице, а полная статья записывается. и соответственно при выводе отображается только дата, и то при каждом выводе отнимает по одному дню... иногда мне кажется, что програмирование - это что-то непостижимое
Tyoma5891
Отправлено: 27 Октября, 2014 - 17:59:29
Частый посетитель
Покинул форум
Сообщений всего: 621
Дата рег-ции: Авг. 2013
Помог: 5 раз(а)
template.html
сделать template.php
и все делать в нем...
dXdYdZ
Отправлено: 27 Октября, 2014 - 18:06:22
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
А Вы привели полный шаблон, или в нём у Вас действительно инклудится хидер и футер?
Если действительно инклудится, то тут есть 2 варианта:
1) Убрать их оттуда и инклудить отдельно.
2) (Мне кажется, что этот вариант даже лучше) Изменить код на следующий:
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
Помог: 2 раз(а)
[+]
Tyoma5891 пишет:
template.html
сделать template.php
и все делать в нем...
дело в том, что смысл в чем тогда? идет речь о том, что сам php может послужить инструментом разделения кода и представления.. и именно такой пример я нашел в интернете...
dXdYdZ
Отправлено: 27 Октября, 2014 - 18:17:54
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
file.shreder пишет:
идет речь о том, что сам php может послужить инструментом разделения кода и представления.. и именно такой пример я нашел в интернете...
Ну в предыдущем моём посте я привёл Вам пример разделения. На PHP можно делать полноценные шаблоны. Может, не так удобно, как на других шаблонизаторах, но это уже как кому нравится. Зато эти шаблоны работают с максимальной скоростью.
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
Помог: 2 раз(а)
[+]
dXdYdZ пишет:
file.shreder пишет:
идет речь о том, что сам php может послужить инструментом разделения кода и представления.. и именно такой пример я нашел в интернете...
Ну в предыдущем моём посте я привёл Вам пример разделения. На PHP можно делать полноценные шаблоны. Может, не так удобно, как на других шаблонизаторах, но это уже как кому нравится. Зато эти шаблоны работают с максимальной скоростью.
Я попробую!!!! У меня пока получилось то что Tyoma5891 предложил. Сделал template.php
include "header.php";
for ($c=0; $c<mysql_num_rows($result); $c++)
{
$f = mysql_fetch_array($result);
$title = "$f[title]";
$summary = "$f[summary]";
$view = "$f[view]";
$date = "$f[date]";
echo $title;
echo $summary;
echo $date;
echo $view;
echo '<a href=\"full.php?do=readnews&id='.$f['id'].'\"> Вся статья... </a>';
}
include "footer.php";
но теперь после всех манипуляций перестала работать ссылка на полную статью
You don't have permission to access /"full.php on this server
dXdYdZ
Отправлено: 27 Октября, 2014 - 18:39:27
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
file.shreder пишет:
Я попробую!!!! У меня пока получилось то что Tyoma5891 предложил. Сделал template.php
include "header.php";
for ($c=0; $c<mysql_num_rows($result); $c++)
{
$f = mysql_fetch_array($result);
$title = "$f[title]";
$summary = "$f[summary]";
$view = "$f[view]";
$date = "$f[date]";
echo $title;
echo $summary;
echo $date;
echo $view;
echo '<a href=\"full.php?do=readnews&id='.$f['id'].'\"> Вся статья... </a>';
}
include "footer.php";
Ну, в данном случае Вы сделали разделение обработчика и отображения не полностью. У Вас информация о статье выводится прямо из обработчика, что не очень хорошо.
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
Помог: 2 раз(а)
[+]
dXdYdZ пишет:
file.shreder пишет:
идет речь о том, что сам php может послужить инструментом разделения кода и представления.. и именно такой пример я нашел в интернете...
Ну в предыдущем моём посте я привёл Вам пример разделения. На PHP можно делать полноценные шаблоны. Может, не так удобно, как на других шаблонизаторах, но это уже как кому нравится. Зато эти шаблоны работают с максимальной скоростью.
ты молодчага! все работает, в смысле как шаблон все четко вывело, и все оказалось так просто, когда кто то как ты обьясняет. Но вот со ссылкой проблема... на странице full.php GET по ходу не принимает ИД, или хрен его знает что!!!!
dXdYdZ
Отправлено: 27 Октября, 2014 - 18:43:02
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Помог: 11 раз(а)
file.shreder пишет:
ты молодчага! все работает, в смысле как шаблон все четко вывело, и все оказалось так просто, когда кто то как ты обьясняет. Но вот со ссылкой проблема... на странице full.php GET по ходу не принимает ИД, или хрен его знает что!!!!
Покинул форум
Сообщений всего: 286
Дата рег-ции: Окт. 2014
Помог: 2 раз(а)
[+]
dXdYdZ пишет:
file.shreder пишет:
ты молодчага! все работает, в смысле как шаблон все четко вывело, и все оказалось так просто, когда кто то как ты обьясняет. Но вот со ссылкой проблема... на странице full.php GET по ходу не принимает ИД, или хрен его знает что!!!!
Если можете, выложите код full.php
Извини... работает все... !!! Ты гениален!!!!!!! (Добавление)
А как эти массивы переворачивать, чтобы отображались выводилсь с начала страницы новые а в конце старые, а то выводит по ИД с базы, то есть с первого, который является по времени последним
dXdYdZ
Отправлено: 27 Октября, 2014 - 19:08:45
Посетитель
Покинул форум
Сообщений всего: 271
Дата рег-ции: Нояб. 2013
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.