Уважаемые программисты! - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > Полезное / Common > Программирование / Programming > PHP

PHP Форум как для начинающих программистов на PHP так и для профессионалов этого дела. Если нужно создать скрипт, функцию и т.д, но не знаете как, спросите у нас и мы вам подскажем. Здесь вы найдете примеры скриптов которые вы сможете использовать на сайтах своих серверов (онлайн, регистрация, семь печатей, топ игроков). Так же много книг и статей.
Описание темы:Только для тех кто знает SMARTY

Ответ
Опции темы
Непрочитано 29.07.2010, 19:25   #1
Аватар для Cool_prime
Пользователь

Автор темы (Топик Стартер) Уважаемые программисты!

Я в своей собственной CMS использую шаблонизатор ( потом перейду ) SMARTY, ну вот и как всегда вискакла проблемка с виводом новостей на главную страничку ( по 10 на 1 страничку ). Кто знает как решить ету проблему отписивайтесь, сейчас использую масиви:
PHP код:
if(mysql_num_rows($Q1) >0) {
    while(
$r mysql_fetch_array($Q1)) {
    
$arr_meta_tags['news'] = array (
    
'.$id.' => array(
        
'date' => $r['date_up'], 
        
'author' => $r['autor'],
        
'title' => $r['title'], 
        
'text' => $r['text'],
        
'views' => $r['views'],
        
'id_link' => $r['id']
        ),);
    @
mysql_query("UPDATE tnews SET views=views+1 WHERE id='".$id."'");
    
$smarty->assign('news',$arr_meta_tags['news']);
    
$news_tpl $smarty->fetch("fullstory.tpl"); 
Извиняюсь я не обяснил саму проблему
Так вот на главной страничке, виводит токо 1 значение из таблици...
__________________
Сайт - рейтинг серверов WoW
Cool_prime вне форума Ответить с цитированием
Непрочитано 29.07.2010, 19:58   #2
Аватар для PROGRAMMATOR
Администратор

По умолчанию

А запрос в $Q1 нам самим отгадать?

Уже все же пора завязывать с mysql_query(), нет обвертки, то стоит написать, взять к примеру DbSimple или использовать PDO.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 29.07.2010, 20:21   #3
Аватар для Cool_prime
Пользователь

Автор темы (Топик Стартер) Re: Уважаемые программисты!

Цитата:
Сообщение от PROGRAMMATOR
А запрос в $Q1 нам самим отгадать?
Извиняюсь не заметил=)
PHP код:
$Q1 mysql_query("SELECT * FROM tnews WHERE date_up <='".date('Y-m-d H:i:s')."' ORDER BY id DESC LIMIT 5 "); 
Цитата:
Сообщение от PROGRAMMATOR
Уже все же пора завязывать с mysql_query(), нет обвертки, то стоит написать, взять к примеру DbSimple или использовать PDO.
Я и не думал виводить свой код =) ето простой пример. Но все же спасибо за пост.
Я думал обращаться через функцию базы данных result_array() но еще очень мало о ней знаю.
__________________
Сайт - рейтинг серверов WoW
Cool_prime вне форума Ответить с цитированием
Непрочитано 29.07.2010, 21:39   #4
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Уважаемые программисты!

Немного не понял, а почему шаблон называется fullstory, по логике это шаблон полной новости. По запросу, LIMIT 5 устанавливает лимит выборки, в вашем случае 5 записей берёт. И для чего используете WHERE date_up <=?.

Также приведите код шаблона fullstory.tpl
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 29.07.2010, 22:02   #5
Аватар для DreamCast
Пользователь

По умолчанию Re: Уважаемые программисты!

получается в запросе выборка по дате - аж до секунды.
проверь - что выдает при таком запросе
DreamCast вне форума Ответить с цитированием
Непрочитано 29.07.2010, 23:46   #6
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Уважаемые программисты!

Это я вижу, больше интересует для чего оно, ведь оно не позволит выбрать новости. Сравнение можно было бы проводить по timestamp записи, но не по 2010-07-30 23:50:10. Там вообще нужно удалить WHERE и оставить только ORDER BY id DESC. Этого достаточно для правильной сортировки новостей.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 30.07.2010, 07:47   #7
Аватар для Cool_prime
Пользователь

Автор темы (Топик Стартер) Re: Уважаемые программисты!

Цитата:
Сообщение от PROGRAMMATOR
Этого достаточно для правильной сортировки новостей.
ВОт именно только для правильной сортировки, вообщето я би их сортовал по дате записи в БД ( вместе с числом и часами...) но оно не работает.
PHP код:
{foreach from=$news item=new}
<
div class="mainf"><b>{$new.title}</b></div>
<
div class="inmy"><img src="{$THEME}/img/book.png" alt="" />{$link-category}<img src="{$THEME}/img/date.png" alt="" style="padding-left:15px;" />{$new.date}</div>
<
div class="sscn" width="500">{$new.text}</div><div class="clear"> </div><br />
<
img src="{$THEME}/img/tag.gif" alt="Теги" style="vertical-align:middle; margin:0 10px;" />{$tags}
<
div class="undersl">
<
div style="float:left; width:270px;"><img src="{$THEME}/img/user.png" alt="" style="padding-left:15px;" />{$new.author}<img src="{$THEME}/img/comm.png" style="padding-left:15px;" alt="" />{$comment-num}<img src="{$THEME}/img/wach.png" alt="" style="padding-left:15px;" />{$new.views}</div>
<
div style="float:right;">{$favorites}<img src="{$THEME}/img/edit.png" title="Редактировать публикацию"  alt="" /></div></div><div class="clear"> </div>
<
img src="{$THEME}/img/lock.png" style="position:relative; left:20px; margin:30px 0;" alt="" />

<
div class="allg"><div class="mainf2g">Похожие публикации</div><div class="ssc2g relate">{$related-news}</div></div>
<
img src="{$THEME}/img/lock.png" style="position:relative; left:20px; margin:30px 0;" alt="" />
{/foreach} 
Ето код fullstory.tpl. PROGRAMMATOR, Я вообщето еще не разобрался с етим поетому на обоих файликах что то делаю, т.е. ето и правда шаблон полной новости, но код позволяет виводить до 5записей на страничку...
Цитата:
Сообщение от DreamCast
получается в запросе выборка по дате - аж до секунды.
проверь - что выдает при таком запросе
Да аж до секунду НО видеш что там стоят 2 знака? <=
Ето значит что оно берет сегодня и прировняет к БД и если там есть нвоости сегонешнего дня, берет его и те новости которие имеют страрую дату...
PHP код:
1    ADMIN    ADMin test    This is testtttttttttttttttttttttttttttttttttttttt...         2005-03-06 02:03:06    11
               2    ADMIN    ADMin test2    This is testtttttttttttttttttttttttttttttttttttttt
...         2004-03-05 03:04:05    1 
ето примерная структура таблици в БД, видиш там дати какие.

А и еще, если удалить WHERE и оставить токо те параметри, тогда если новость присвоят дату например на следующую неделю, ОН тоже будет виводиться. По етому уходя от 1 проблеми я сталкиваюсь на 2...

А запрос изменил
PHP код:
$Q1 mysql_query("SELECT * FROM tnews WHERE id ='".$id."' ORDER BY date_up DESC LIMIT 5 "); 
ето уже не то
__________________
Сайт - рейтинг серверов WoW
Cool_prime вне форума Ответить с цитированием
Непрочитано 30.07.2010, 10:23   #8
Аватар для DreamCast
Пользователь

По умолчанию Re: Уважаемые программисты!

да, ты прав. не обратил внимания. Но смысла от этого не больше.
DreamCast вне форума Ответить с цитированием
Непрочитано 30.07.2010, 10:26   #9
Аватар для PROGRAMMATOR
Администратор

По умолчанию Re: Уважаемые программисты!

Как может работать запрос с условием WHERE id = id и LIMIT 5? Выведет то одну запись.
__________________
composer require laravel/framework
yarn add vue
PROGRAMMATOR вне форума Отправить сообщение для PROGRAMMATOR с помощью ICQ Отправить сообщение для PROGRAMMATOR с помощью Skype™ Ответить с цитированием
Непрочитано 30.07.2010, 10:51   #10
Аватар для Cool_prime
Пользователь

Автор темы (Топик Стартер) Re: Уважаемые программисты!

Цитата:
Сообщение от PROGRAMMATOR
Как может работать запрос с условием WHERE id = id и LIMIT 5? Выведет то одну запись.
Ах да, не заметил, поставил LIMIT 0, 10. Но все равно не работает, убрал вообще все И WHERE и ORDER, все равно, виводит токо 1 запись, решил етот вопрос другим способом вивода, а именно напрямую через result_query() в переменную, а в шаблоне описал Foreach...(и т.д. as $row) и вивод такой примерно:
PHP код:
<?=$row->title?><br />
<?=$row->body?>
__________________
Сайт - рейтинг серверов WoW
Cool_prime вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Требуются java программисты maa Рынок / Marketplace 0 03.01.2010 19:32


© 2007–2020 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 22:03. Часовой пояс GMT +3.

Вверх