Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?

Re: Keeping Order with mySQL (Mildly OT)

by Masem (Monsignor)
on Feb 15, 2002 at 18:19 UTC ( #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 - || "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

Comment on Re: Keeping Order with mySQL (Mildly OT)
Download Code

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (5)
As of 2015-10-10 03:59 GMT
Find Nodes?
    Voting Booth?

    Does Humor Belong in Programming?

    Results (254 votes), past polls