Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массив в новостной ленте
 
 автор: ChieFSS   (05.02.2008 в 15:10)   письмо автору
 
 

У меня 2 вопроса:
1. Класс возвращает двумерный массив с новостями
            $news_list[] = array('id'   => $row['id'],
                            'name' => $row['name'], 
                            'body' => $row['body'], 
                            'date' => $row['date']
                            );

Можно после этого по определённым частям массива пробежаться htmlspecialchars ?
По всем получается и только по первому ключу $news_list[0], а по всем $news_list[]['name'] не выходит.

2. Стоит ли вообще возвращать классом массив с новостями или лучше отдельно каждую часть (id, name, text, date) ?

   
 
 автор: _гость_   (05.02.2008 в 23:17)
 
   для: ChieFSS   (05.02.2008 в 15:10)
 

в каком смысле "класс возвращает" ?
как если сделать так ?
$news_list = new newsclass(....);
print_($news_list);

или вызывается метод , который возвращает это ?

наверное лучше сразу внутри этого класса или метода обработать некоторые значения, если он нужен только для отдачи браузеру.
Дата и id всёравноже можно не обрабатывать.
Но с другой стороны сама реализация вывода в последствии тоже наверное требует разложения на составляющие :)
и можно сделать по всякому , главное чтобы работало , и без лишних туда сюда обработок :)

   
 
 автор: _гость_   (05.02.2008 в 23:19)
 
   для: _гость_   (05.02.2008 в 23:17)
 

print_r() там

   
 
 автор: ChieFSS   (05.02.2008 в 23:35)   письмо автору
 
   для: _гость_   (05.02.2008 в 23:19)
 

Метод класса News возвращает двумерный массив новостей.
Я просто хотел отделить обработку информации от работы с БД, а вывожу я их шаблоном в цикле.

   
 
 автор: _гость_   (06.02.2008 в 00:05)
 
   для: ChieFSS   (05.02.2008 в 23:35)
 

Непонятно как это с шаблоном , но чем это отличается от вывода в цикле
как такой ?

<?
$news 
$news_obj -> get_news();
for(
$i=0$i<count($news); $i++)
{
   
$temp &= $news[$i];
   print 
$temp["id"] . "<br>\n" htmlspecialcars$news[$i]["msg"] ) 
   . 
"....."
// и тд 
}

   
 
 автор: ChieFSS   (06.02.2008 в 00:33)   письмо автору
 
   для: _гость_   (06.02.2008 в 00:05)
 

Шаблон подгружается в самом конце если все условия выполнены. Вот сам шаблон:
<? for($count 0$count $news->newsCount(); $count++): ?>
    <table border=1>
        <tr><td>ID:</td><td><?=$news_list[$count]['id'];?></td></tr>
        <tr><td>Название:</td><td><?=$news_list[$count]['name'];?></td></tr>
        <tr><td>Тело:</td><td><?=$news_list[$count]['body'];?></td></tr>
        <tr><td>Дата:</td><td><?=$news_list[$count]['date'];?></td></tr>
    </table>
<? endfor; ?>


Мне кажется очень громоздко будет или нормуль?

   
 
 автор: _гость_   (06.02.2008 в 04:14)
 
   для: ChieFSS   (06.02.2008 в 00:33)
 

опятьже неизвестно какие у вас там ещё и условия выполняются в цикле :)
вообще то как всё это будет работать сильно зависит от того какого размера у вас этот массив .

оптимальнее всего делать такой запрос, который сразу выдаст только то что нужно , а не извлекать всё содержимое таблицы , а потом фильтровать при выводе.
но можно и так, если запрос возвращает не больше 8и мегабайт :)

   
 
 автор: Thrasher   (06.02.2008 в 09:48)   письмо автору
 
   для: ChieFSS   (06.02.2008 в 00:33)
 

Может так?
<? for($count 0$count $news->newsCount(); $count++): ?> 
    <table border=1> 
        <tr><td>ID:</td><td><?=$news_list[$count]['id'];?></td></tr> 
        <tr><td>Название:</td><td><?=htmlspecialchars($news_list[$count]['name']);?></td></tr> 
        <tr><td>Тело:</td><td><?=$news_list[$count]['body'];?></td></tr> 
        <tr><td>Дата:</td><td><?=$news_list[$count]['date'];?></td></tr> 
    </table> 
<? endfor; ?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования