Thanks for the reply cricket, I'll try sortable and see if anything pops.

On Thursday, November 15, 2012 5:28:15 AM UTC+11, cricket wrote:
>
> If a view is out then I think you're best bet is to keep the DB 
> records in the order you need and leave pagination to just limiting 
> the number. Have a look at the SortableBehavior. Perhaps you could 
> hack up a routine that ensures the records remain sorted properly even 
> as new ones are added. 
>
> On Wed, Nov 14, 2012 at 1:26 AM, char <[email protected] <javascript:>> 
> wrote: 
> > Hi all, 
> > 
> > I've got a problem which I hope is interesting to everyone. 
> > 
> > Got a generic table, in which each item has an image and an attribute 
> that 
> > says wether the orientation is portriat or landscape. 
> > 
> > id int(10) unsigned NOT NULL 
> > namevarchar(255) NULL 
> > image varchar(255) NULL 
> > image_portrait tinyint(1) unsigned NOT NULL 
> > 
> > Now I need to paginate the results so that there are always 1 portrait 
> > images for every 2 landscape images. 
> > 
> > So if I wanted paginated results with limit of say 6, it should return 
> the 
> > following: 
> > 
> > array( 
> >     (int) 0 => array( 
> >         'Item' => array( 
> >             'id' => '1', 
> >             'name' => 'container', 
> >             'image' => 'CH1.a.jpg', 
> >             'image_portrait' => '1' 
> >                 ) 
> >     ), 
> >     (int) 1 => array( 
> >         'Item' => array( 
> >             'id' => '5', 
> >             'name' => 'container', 
> >             'image' => 'CH1.b.jpg', 
> >             'image_portrait' => '0' 
> >         ) 
> >     ), 
> >     (int) 2 => array( 
> >         'Item' => array( 
> >             'id' => '13', 
> >             'name' => 'container', 
> >             'image' => 'CH21.c.jpg', 
> >             'image_portrait' => '0' 
> >         ) 
> >     ), 
> >     (int) 3 => array( 
> >         'Item' => array( 
> >             'id' => '4', 
> >             'name' => 'container', 
> >             'image' => 'CH13.e.jpg', 
> >             'image_portrait' => '1', 
> >         ) 
> >     ), 
> >     (int) 3 => array( 
> >         'Item' => array( 
> >             'id' => '24', 
> >             'name' => 'container', 
> >             'image' => 'CH19.jpg', 
> >             'image_portrait' => '0', 
> >         ) 
> >     ), 
> >     (int) 3 => array( 
> >         'Item' => array( 
> >             'id' => '154', 
> >             'name' => 'container', 
> >             'image' => 'CH13.jpg', 
> >             'image_portrait' => '0', 
> >         ) 
> >     ), 
> > ) 
> > 
> > A few possibilities: 
> > - unioning portraits with landscapes to make sure the numbers match 
> (limit x 
> > and limit 2x), but that is a lot of work with the built-in pagination 
> (if 
> > possbile at all). 
> > 
> > - still paginate on the entire table and use that for the helper, on top 
> of 
> > that, also paginate on landscapes (limit 2x/3) and portraits (limit x/3) 
> > seperately and use that to get the actual display data. 
> > 
> > - make the union a view then paginate on that, but the current hosting 
> > provider doesn't give me the privillage to create views... 
> > 
> > Any interesting solutions or suggestions? 
> > 
> > Cheers 
> > Char 
> > 
> > -- 
> > Like Us on FaceBook https://www.facebook.com/CakePHP 
> > Find us on Twitter http://twitter.com/CakePHP 
> > 
> > --- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "CakePHP" group. 
> > To post to this group, send email to [email protected]<javascript:>. 
>
> > To unsubscribe from this group, send email to 
> > [email protected] <javascript:>. 
> > Visit this group at http://groups.google.com/group/cake-php?hl=en. 
> > 
> > 
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
Visit this group at http://groups.google.com/group/cake-php?hl=en.


Reply via email to