Re: Modifying the sort order of a query

From: Date: Thu, 06 Jun 2002 01:18:06 +0000
Subject: Re: Modifying the sort order of a query
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-100838@lists.php.net to get a copy of this message
Try a sub-select: SELECT * FROM (SELECT * FROM rap ORDER BY rcountry,rcity,rsname,rfname DESC LIMIT 30 OFFSET 30) ORDER BY whatever; miguel On Wed, 5 Jun 2002, Andre Dubuc wrote: > Apache 1.3.23 + PHP 4.1.2 + PostgreSQL 7.2 > > I have a query that sorts by name, country, and city, then pages in groups of > 30 records. Originally, I had also coded two buttons: "Sort by Country', > 'Sort by City' since I wanted to offer users the options of these choices. > > Unfortunately, these buttons work well, but re-select the whole shebang > (which I guess is to be expected), destroying any paging that had already > started. I've tried all sorts of ways, tried re-arranging the order of > execution, but the result is the same. > > I'm at a loss on how to proceed. I've deleted the choice (for now) and run it > as a simple select order by name query.The problem seems to be: I need a > sub-query select function that retains the original query, simply > re-organizing it according to the new criteria, and retains the original > paging. (Perhaps I shouldn't care whether the paging is messed up as long as > the results are the same.) > > I realize that the way it's set up below, it will automatically send a NEW > query, which is not what I want. I'd like to work with the results of the > original query and modify it with the new criteria > > Any suggestions how I can achieve this, or whether it's even possible? I > would greatly appreciate any assistance or comments. > > ************************************************************************************** > > Snippet of offending code: > > <?php > > //snippet follows: > > print "<input type="submit" name="submit" value="Sort by > City">"; > print "&nbsp;"; > print "<input type="submit" name="submit" value="Sort by > Country">"; > > // more code > > if($_POST['submit'] == "Sort by Name"){ > $query = "SELECT * FROM rap ORDER BY > rsname,rfname,rcountry,rcity,DESC LIMIT 30 OFFSET 30"; > } > elseif($_POST['submit'] == "Sort by Country"){ > $query = "SELECT * FROM rap ORDER BY > rcountry,rcity,rsname,rfname DESC LIMIT 30 OFFSET 30"; > } > > //more code, including paging functions > ?> > > ******************************************************************************************** > > Tia, > Andre > > >

« previous php.general (#100838) next »