Re: Perl/DBI
[email protected] ("Tyler Gee")
| Newsgroups | perl.beginners.cgi |
|---|---|
| Message-ID | <[email protected]> |
On 6/24/07, Shawn Hinchy <[email protected]> wrote: > > Quoting Tyler Gee <[email protected]>: > > > On 6/24/07, Shawn Hinchy <[email protected]> wrote: > >> > >> Hello all, > >> > >> I am getting to the point where I need to start thinking about doing > >> pagination for search results. > >> > >> I did some searches and it looks like there are some pagination > >> modules, but I am not quite interested in going that route yet. I am > >> using a handful of columns from the search so I do not think that > >> retrieving all results and then only showing a subset will be very > >> efficient. It also looks like you can execute FOUND_ROWS() after > >> doing your initial query and it will give you the total results. This > >> is probably the best route, but it is not easily implemented with the > >> way I have set up my functions. > >> > >> Are there any other options that I have missed? Suggestions? > > > > > > If you are not interested in using the modules, it is not actually that > hard > > to roll your own. In the past I have done different things for total > > counts, either two separate queries, one just a 'SELECT COUNT(*)' and > the > > other to actually fetch the data. Depending on your data you might be > able > > to add the count into your data fetching query but probably not. > > > > Why do you not want to use the modules? > > Thank you Tyler, I hadn't though about just using select COUNT(*). > > I was shying away from using the modules because I knew that it wasn't > too hard and I was afraid that I wouldn't find one that would do > exactly what i wanted. Then there is the concern that my needs will > change in the future and I'll have to find and re-implement another > module instead of just tweaking my own code. Or maybe I just like to > go through the pain on my own. :) > > I think two separate queries will work fine for me now, I just didn't > want to have to load all the results for fear it would be a memory hog > and slow things down since searches will be frequent. One thing people sometimes do if they have a lot of rows (a whole lot) is to actually keep a separate table that stores the count and then you can just select from that. It is not recommended unless you really have a lot of rows because it de-normalizes the database. The count() should work fine however. Cheers, Thanks, > > Shawn > > -------------------- > Shawn Michael Hinchy > [email protected] > > -- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > http://learn.perl.org/ > > > -- ~Tyler