Re: Pagination of search results

From: Damián Culotta <dculotta(at)fibertel(dot)com(dot)ar>
To: "Cstdenis" <cstdenis(at)voicio(dot)com>, <pgsql-php(at)postgresql(dot)org>
Subject: Re: Pagination of search results
Date: 2005-11-27 19:33:35
Message-ID: 003601c5f389$759a9020$6401a8c0@workstation
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

If you sotre the count into a session, maybe you show incorrect information.
It's possible that someone insert a new record when you are changing from
one page to another.

Sorry, my english it's very bad.

----- Original Message -----
From: "Cstdenis" <cstdenis(at)voicio(dot)com>
To: "Neil Saunders" <n(dot)j(dot)saunders(at)gmail(dot)com>; <pgsql-php(at)postgresql(dot)org>
Sent: Saturday, November 26, 2005 5:59 AM
Subject: Re: [PHP] Pagination of search results

> Get the count once and store it in a session.
>
> ----- Original Message -----
> From: "Neil Saunders" <n(dot)j(dot)saunders(at)gmail(dot)com>
> To: <pgsql-php(at)postgresql(dot)org>
> Sent: Wednesday, November 23, 2005 8:14 AM
> Subject: [PHP] Pagination of search results
>
>
> Hi,
>
> I'm writing a search engine, the results of which will displayed in
> blocks of 25, paginated. I will also display the number of records
> found (1-25 of 345).
>
> I'm trying to determine the most efficient way to implement this.
> Since the session is dropped after the script is terminated, I'm
> ruling our cursors. Also, cursors would prevent me from retrieving the
> total number of records potentially returned from a search, and so I
> couldn't display the correct number of page links. Also, this would
> require persistent connections, which I'd like to avoid for a number
> of reasons.
>
> The best I've come up with is "SELECT b.*, c.cnt FROM table AS b,
> (SELECT COUNT(1) AS cnt FROM table WHERE <LOTS OF CLAUSES>) AS c WHERE
> <SAME LOT OF CLAUSES> LIMIT 25 OFFSET 0"
>
> However this means that the query is essentially getting executed
> twice for each page.
>
> Is there any better way of implementing this? All advice gratefully
> received.
>
> Kind Regards,
>
> Neil Saunders.
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: explain analyze is your friend
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: don't forget to increase your free space map settings
>
>

In response to

Browse pgsql-php by date

  From Date Subject
Next Message Michelle Konzack 2005-11-30 15:05:41 Re: Cancel my mail
Previous Message Cstdenis 2005-11-26 08:59:53 Re: Pagination of search results