Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Keeping Order with mySQL (Mildly OT)

by Masem (Monsignor)
on Feb 15, 2002 at 18:19 UTC ( [id://145744]=note: print w/replies, xml ) Need Help??


in reply to Keeping Order with mySQL (Mildly OT)

If you don't mind a few extra SQL calls, you can do a pseudo linked-list; that is, have each element have a 'previous' entry that points to the unique ID of the next element in the list, or NULL if this is the first entry. Then you can do a loop over a SQL statement such as:
my @order; my $sth_1 = $dbh->prepare( "SELECT id FROM TABLE WHERE previous IS NUL +L" ) or die $DBI->errstr; my $sth_2 = $dbh->prepare( "SELECT id FROM TABLE WHERE previous IS ?" +) or die $DBI->errstr; $sth_1->execute() or die $DBI->errstr; if ( $sth_1->rows() > 0 ) { my ($id) = $sth_1->fetchrow_array(); push @order, $id; $sth_2->execute( $id ) or die $DBI->errstr; while ( $sth_2->rows() > 0 ) { my ( $id ) = $sth_2->fetchrow_array(); push @order, $id; $sth_2->execute( $id ) or die $DBI->errstr; } }
(That code could probably be optimized for logic of course.)

-----------------------------------------------------
Dr. Michael K. Neylon - mneylon-pm@masemware.com || "You've left the lens cap of your mind on again, Pinky" - The Brain
"I can see my house from here!"
It's not what you know, but knowing how to find it if you don't know that's important

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://145744]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (6)
As of 2024-03-28 21:21 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found