Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16

Вывод новостей из БД в tpl-шаблон

03.12.2015, 15:29. Показов 1335. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. С php только знакомлюсь, пытаюсь делать сайт. Проблема в следующем: есть файл news.tpl для отображения новостей на сайте. Данные из базы изъять и вывести на сайте удается, только создается один лишний блок-таблица, где выводится пустая таблица из news.tpl.
См. скрин: https://img-fotki.yandex.ru/ge... 33d9d_orig

Каким образом можно предотвратить создание / удалить последний блок?

PHP
1
2
3
4
5
6
7
8
9
10
<link rel="stylesheet" type="text/css" href="engine.css">
<?php include ('template.php');?>
<table class='news_block'"> 
  <tr> 
    <td class='news_title'><p><a href='view_news.php?id={id}'>{title} </a></p></td>
</tr>
<tr>
    <td><p> {description}<a href='view_news.php?id={id}'><br>Подробнее</a></p></td> 
</tr>
</table>
Беру данные из БД так:
PHP
1
2
3
4
5
6
7
8
9
10
$result = mysql_query ("SELECT id, title, description FROM news ORDER by date DESC", $db);
$myrow = mysql_fetch_array ($result) ;
 
do {
    $news = file_get_contents('template/news.tpl');
    $news = str_replace('{id}', $myrow['id'], $news);
    $news = str_replace('{title}', $myrow['title'], $news);
    $news = str_replace('{description}', $myrow['description'], $news);
    echo $news;
} while ($myrow = mysql_fetch_array ($result));
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.12.2015, 15:29
Ответы с готовыми решениями:

Добавление новостей не только в main.tpl, но и в *.html файлы
Все привет. Сразу скажу что я новичок в работе с движком DLE, потому не судите строго. У меня вопрос: сейчас занимаюсь адаптацией своего...

Как вывести tpl шаблон в шаблоне
Прошу помощи, прочитал статью http://rgblog.ru/page/template попробовал вывести шаблон, у меня все получилось, но не могу понять как...

Как в dle 10.5 подключить шаблон .tpl ?
как в движке dle 10.5 в полной новости при нажатие на ссылку например &quot;скачать&quot;, подгружался другой шаблон.tpl

5
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
03.12.2015, 15:36
Почитайте про разницу между while и do-while.
0
Фрилансер
Эксперт PythonЭксперт JSЭксперт PHP
 Аватар для Azdeman
1871 / 1362 / 604
Регистрация: 12.01.2011
Сообщений: 5,470
03.12.2015, 15:38
PHP
1
2
3
4
5
6
7
8
$result = mysql_query ("SELECT id, title, description FROM news ORDER by date DESC", $db);
while ($myrow = mysql_fetch_array ($result)){
    $news = file_get_contents('template/news.tpl');
    $news = str_replace('{id}', $myrow['id'], $news);
    $news = str_replace('{title}', $myrow['title'], $news);
    $news = str_replace('{description}', $myrow['description'], $news);
    echo $news;;
}
0
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
03.12.2015, 18:56  [ТС]
Если использовать while, то не отображается последняя новость, а пустая таблица все равно есть.
0
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,909
04.12.2015, 09:46
dr_sleep, всё должно отображаться. Возможно вы 2 строчку не удалили в вашем коде выше.
0
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
04.12.2015, 16:01  [ТС]
В общем к циклу проблема никакого отношения не имеет. Если убрать цикл (да и таблицу) и выводить одно единственное {title}, то отобразиться и текст, который должен подставляться вместо {title} и следом надпись "{title}".

Получается, что str_replace() не так как нужно работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.12.2015, 16:01
Помогаю со студенческими работами здесь

Как записать код в tpl-шаблон?
как записать этот маленький кусочек кода в tpl шаблон? if(is_numeric($protect-&gt;activation_key_expires) &amp;&amp;...

Как сделать шаблон (файл name.tpl)?
Здравствуйте! У меня есть страница, написанная на PHP: &lt;?php // Подключение к серверу. $conn =...

Возможно ли, чтобы при заходе на сайт загружался не main.tpl, а другой шаблон?
возможно ли сделать так что бы при заходе на сайт загружаться не main.tpl а другой шаблон, а на остальных main.tpl Скажите как...

Шаблон новостей
Хотелось бы реализовать на сайте добавление определенного материала (в определенную категорию) по шаблону ...

Wordpress, шаблон новостей
Здравствуйте, подскажите пожалуйста, где можно найти интересные шаблоны Wordpress, для сайта по теме &quot;Блог, портал новостей&quot;....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru