Pomoc se stránkováním – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Pomoc se stránkováním – PHP – Fórum – Programujte.comPomoc se stránkováním – PHP – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
30. 6. 2015   #1
-
0
-

Zdravím, mám problém se stránkováním. Stránkování mám v tomto modelu:

	require_once( FRAMEWORK_PATH . 'lib/pagination/pagination.class.php');
        $paginatedStream = new Pagination( $this->registry );
        $paginatedStream->setLimit( 1 );
        $paginatedStream->setOffset( $offset );
        $query = "SELECT t.type_reference, t.type_name, s.*,UNIX_TIMESTAMP(s.posted) as timestamp, p.name as poster_name,p.surname as poster_surname, r.name as profile_name, r.surname as profile_surname,  i.image, v.video_id, l.URL, l.description FROM statuses s LEFT JOIN statuses_images i ON s.ID=i.id LEFT JOIN statuses_videos v ON s.ID=v.id LEFT JOIN statuses_links l ON s.ID=l.id , status_types t, profile p, profile r WHERE (s.view='friends' AND t.ID=s.type AND p.user_id=s.poster AND r.user_id=s.profile AND ( p.user_id={$user} OR r.user_id={$user} OR ( p.user_id IN ({$network}) AND r.user_id IN ({$network}) ) )) OR (s.view='friendscountry' AND t.ID=s.type AND p.user_id=s.poster AND r.user_id=s.profile AND ( p.user_id={$user} OR r.user_id={$user} OR ( p.user_id IN ({$network}) AND r.user_id IN ({$network}) ) )) ORDER BY s.ID DESC";
        
        $this->registry->getObject('db')->executeQuery( $query );
        if( $this->registry->getObject('db')->numRows() > 0 )
        {
            $this->empty = false;
            // průchod přes stavy - jejich identifikátory se uloží do pole, časy převedou do uživatelsky přívětivější podoby a záznam uloží do proudu
            while( $row = $this->registry->getObject('db')->getRows() )
            {
                $row['friendly_time'] = $this->generateFriendlyTime( $row['timestamp'] );
                $this->IDs[] = $row['ID'];
                $this->stream[] = $row;            
            }
        }
        
        $paginatedStream->setQuery( $query );
        $paginatedStream->setMethod( 'cache' );
        $paginatedStream->generatePagination();
        return $paginatedStream;

Tento model volám pomocí controlleru jenž následně zobrazí výsledky na stránku:

            $streamdata = $stream->getStream();
            
            $IDs = $stream->getIDs();
            $cacheableIDs = array();
            foreach( $IDs as $id )
            {
                $i = array();
                $i['status_id'] = $id;
                $cacheableIDs[] = $i;
            }
        
            $cache = $this->registry->getObject('db')->cacheData( $cacheableIDs );
            $this->registry->getObject('template')->buildFromTemplates( 'header2.tpl.php', 'profile/information/view.tpl.php','stream/page1.tpl.php', 'footer.tpl.php');
            $this->registry->getObject('template')->getPage()->addTag( 'stream', array( 'SQL', $pagination->getCache() ) );

A jde mi o to, že tam v controlleru potřebuji včlenit do stránky jak stránkování z modelu pomocí:  $this->registry->getObject('template')->getPage()->addTag( 'stream', array( 'SQL', $pagination->getCache() ) );    tak i jednotlivé 'status_id', které jsou v cache a měl bych je volat pomocí:  $this->registry->getObject('template')->getPage()->addTag( 'stream', array( 'DATA', $cache); 

Nevíte jak na to?  

Nahlásit jako SPAM
IP: 89.102.96.–
Reklama
Reklama
peter
~ Anonymní uživatel
2528 příspěvků
30. 6. 2015   #2
-
0
-

To je nejaky strasne slozity system :) Hlavne musis mit zdrojove kody od vseho, coz jsi nedal.
buildFromTemplates - hadam, ze to vygeneruje html kod formulare
Jestli tam chces neco addovat, tak by se to melo asi udelat pred tim.

https://books.google.cz/books?id=-u3I78DuvEsC&pg=PT256&lpg=PT256&dq=%22buildFromTemplates%22++php+examples

To zobrazi jakasi pdf s podobnym zapisem

$this->registry->getObject('template')->getPage()->addTag('...
$this->registry->getObject('template')->buildFromTemplates('...
 

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:40fc:37...–
peter
~ Anonymní uživatel
2528 příspěvků
30. 6. 2015   #3
-
0
-

Mimochodem, jako prvni bys mel napsat, ze se jedna o php cms E-commerce. Ne vsechny bavi googlovani podle nazvu funkci a hadat, z ceho o mas php kody, asi....

Nahlásit jako SPAM
IP: 2001:718:2601:1f7:40fc:37...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 70 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý