Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [ZendFramework] Galeria i losowy obrazek
Forum PHP.pl > Forum > PHP > Frameworki
miSq
Witam.

Od kilku dni studiuje ZF i jak na razie ze słabym skutkiem. Jednak to zagadnienie męczy mnie najbardziej. Zrobiłem galerie + paginacja - to działa. Teraz żeby łatwiej wyjaśnić Wam w czym jest problem opisze jak działa do teraz galeria. Na stronie /gallery/ są linki do podgalerii


Strony:
[ galeria 1 ][ galeria 2 ][ galeria 2 ][ galeria 3 ][ galeria 4 ]
Strony:

Całość wyświetlane jest dzięki funkcji:

  1. <?php
  2. function indexAction() {
  3.        $this->view->title = "Galeria";
  4.        
  5.        $db = Zend_Registry::get('db');
  6.        $db->setFetchMode(Zend_Db::FETCH_OBJ);
  7.        
  8.        //paginacja
  9.        $select = $db->select()
  10.        ->from(array('g' => 'gallery'), 'COUNT(*)');
  11.        $contains = $db->fetchOne($select);
  12.        
  13.        Zend_Loader::loadClass('Zend_Filter_StripTags');
  14.        $f = new Zend_Filter_StripTags();        
  15.        $page = $f->filter($this->_request->getParam('page'));
  16.        if(empty($page)){ $page = 1; }
  17.        $paginator = new My_Paginator_Paginator();
  18.        $paging = $paginator->pagingGal($contains, $page);
  19.        $this->view->pagingGal = $paging['paging'];  
  20.  
  21.        $select = $db->select()
  22.        ->from(array('g' => 'gallery'), array('id', 'name'))
  23.        ->order('id ASC')
  24.        ->limit($paging['limitup'], $paging['limitdown']);  
  25.        $this->view->result = $db->fetchAll($select);
  26. ?>


Teraz chciałbym dodać losowo wybrany obrazek z danej galerii i wstawić go jako link do galerii:

  1. <?php
  2. //losowo wybrany obrazek przy galerii
  3.        $select1 = $db->select()
  4.        ->from(array('i' => 'images'),array('file'))
  5.        ->where('galleryid = 1')
  6.        ->order(new Zend_Db_Expr('RAND()'))
  7.        ->limit(1);
  8.        $this->view->result1 = $db->fetchRow($select1);
  9. ?>


Jak widać na sztywno wpisałem galleryid.

Problemem dla mnie jest wstawienie tam ID galerii by pobierał obrazki tylko z gallerid danej galerii. Czyli:

Strony:
[losowy obrazek z galerii ID1][losowy obrazek z galerii ID2]
[ link galeria 1 ].......................[ link galeria 2 ].....................
Strony:

Z góry dziękuje za wszystkie pomocne posty.
GrayHat
po pierwsze poczytaj o wzorcu MVC... Obsługę bazy danych trzymamy w warstwie modelu a nie w kontrolerze...
tomek_
  1. <?php
  2. $select1 = $db->select()
  3.        ->from(array("i" => "images"),array("file"))
  4.        ->where("galleryid = ?",  $zmienna_przechowująca_id)
  5.        ->order(new Zend_Db_Expr('RAND()'))
  6.        ->limit(1);
  7.        $this->view->result1 = $db->fetchRow($select1);
  8. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.