Как передать Массив в МОДЕЛЬ

#1 17 июня 2011 в 18:13
Здравствуйте. Возникла проблема. Не могу передать массив из frontend.php в model.php. Гуру подскажите пожалуйста.
#2 17 июня 2011 в 18:33

Не могу передать массив из frontend.php в model.php.

sPan4eZ
пример кода в студию, телепатически не могу)
И что значит передать массив?) в общем пример и суть что вы хотите сделать.
#3 17 июня 2011 в 18:46
Уже сделал ;)… У меня теперь новый вопрос. Как можно сравнивать даты в tpl если формат идет такой 1 июня 2011. И как их сравнить? :(
#4 17 июня 2011 в 18:58

И как их сравнить? :(

sPan4eZ
сравнивать в другом месте или же во входном массиве должен присутствовать элемент с чистой датой из БД и сравнивать их.
#5 17 июня 2011 в 19:12
Ну вот например я вывожу БД сразу из model.php результаты вывожу через while. Как мне сделать чтобы сначала они записались в двухмерный массив и только потом выводить?
Если можно пожалуйста приведите пример.
#6 17 июня 2011 в 19:46

Ну вот например я вывожу БД сразу из model.php результаты вывожу через while.

sPan4eZ
через строчки прочел сообщение)

После того как вы "через while" выбрали данные из бд, у вас уже формируется многомерный массив, по все видимости вы там и скопипастили, что поле pubdate или как у вас оно называется — в общем с датой прогоняется через метод dateFormat ядра. если так, либо убирайте это преобразование, либо как то так:
привожу кусок кода разбора данных на примере выборки видеороликов из БД:
подразумевается, что в $result уже есть выполненный запрос

  1. while ($movie = $this->inDB->fetch_assoc($result)){
  2.  
  3. $movie['img'] = $movie['img'] ? $movie['img'] : 'video_convert.jpg';
  4. $movie['duration'] = $this->convertDuration($movie['duration']);
  5. $movie['size'] = $this->formatFileSize($movie['size']);
  6. $movie['fpubdate'] = cmsCore::dateFormat($movie['pubdate']);
  7. $movie['comments'] = $is_comments ? $inCore->getCommentsCount('movie', $movie['id']) : 0;
  8. $movie['s_title'] = $movie['title'];
  9. //поиск по названию
  10. if ($squery){
  11. $words = explode(' ', $squery);
  12. foreach($words as $w){
  13. if(strlen($w)>1){
  14. $t = strtolower($movie['s_title']);
  15. $movie['s_title'] = str_replace($w, '<span class="search_movie">'.$w.'</span>', $t);
  16.  
  17. }
  18. }
  19. }
  20. $movie['movie_link'] = $this->getMovieLink($movie['cat_seolink'].'/'.$movie['seolink'], $movie['id']);
  21. $movie['cat_link'] = $this->getCatLink($movie['cat_seolink'], $movie['cat_id']);
  22. $movies[$movie['id']] = $movie;
  23.  
  24. }
поле с датой в таблице БД называется pubdate, НО сконвертированную дату я осознано пишу в элемент массива с другим названием, в данном случае fpubdate
  1. $movie['fpubdate'] = cmsCore::dateFormat($movie['pubdate']);
Соответственно, когда уже потом я этот массив отдаю в смарти, у меня там есть как элемент с чистой датой из бд, например {$movie.pubdate}, так и с "руссифицированной" {$movie.fpubdate}

Надеюсь понятно объяснил))
#7 17 июня 2011 в 20:24

{$movie.pubdate}, так и с "руссифицированной" {$movie.fpubdate}

Fuze
А они идут как. Взаимно друг от друга? т.е. если выйдет 2011-06-01 то русская будет 1 июня 2011.
Я правильно понял?
#8 17 июня 2011 в 20:41

А они идут как. Взаимно друг от друга?

sPan4eZ
это два разных элемента массива, но смысловое значение их одинаково, просто представление разное.
#9 18 июня 2011 в 00:34

это два разных элемента массива, но смысловое значение их одинаково, просто представление разное.

Fuze

Нет я имею ввиду что у них будет массивы одни т.е. 1 значит и у другого 1?
#10 18 июня 2011 в 00:47

Нет я имею ввиду что у них будет массивы одни т.е. 1 значит и у другого 1?

sPan4eZ

вы не совсем понимаете о чем речь и путаете определения.
$movie['fpubdate'] это cmsCore::dateFormat($movie['pubdate'])

$movie['pubdate'] это значение из базы.

да, для каждого индекса массива будет и то и то значение.

т.е. потом когда в смарти будете прогонять через фореч, для каждой интерации будет доступны два значения даты одно чистое из базы, второе прогнанное через dateformat.
#11 18 июня 2011 в 01:28
Вот я имел то же самое..😊Может написал мыслю не так😊Спасибо большое… Пошел продолжать дальше работать :)
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.