RE: [PHP-DB] Previous | Next (Again)

From: Date: Fri, 31 Aug 2001 20:15:05 +0000
Subject: RE: [PHP-DB] Previous | Next (Again)
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-12060@lists.php.net to get a copy of this message
OK, I see what you're saying and the O'Reilly link from someone else was very helpful, however I think there still must be a simpler way to do it. I don't need to have the reorder picture function. Each picture record has an id field which is linked to their username (in another table) and a photo_id which is unique for every photo in the database. What if I selected all the photo_ids for a particular user and put them in an array and also counted them (the total). Then the array would have photo_id[0], photo_id[1] etc. When the page is displayed, I could somehow find out which number of the array the current photo is and make it +1 to get the number of the order starting with 1. Then for the Next page, it would display the photo_id[] +1. That was hard to explain I hope it made sense. Do you think this would work? If so, how do I loop through the photo_id column and put them into an array? Thanks for the help. Jeff Oien > I don't know of a way to do the insert in a single query (anyone?!?) with > this... but > > assuming the fields in pic are > id int PRI > location varchar(30) > picnumber int > user varchar(20) > > $query = "Select max(picnumber) from pics where user=\"$user\""; > $dbq = mysql_query($query,$dblink) or die("D'OH!"); > > $picnum = mysql_result($dbq,0) + 1; > > $query = "Insert into pics values > (\"\",\"$fileloc\",$picnum,\"$user\"); > $dbq = mysql_query($query,$dblink) or die("Great Googley Moogley!"); > > Should get the new pic at the top (or bottom depending on how you look at > it) > of the order. > > Now if someone tells your program to delete the pic, I would call a function > which > would unlink the file then do > > //$id should be passed to function DeletePic() > $query = "Select picnumber from pics where id = $id"; > $dbq = mysql_query($query,$dblink) or die("Looks like I picked the wrong day > to quit smoking!"); > > $number = mysql_result($dbq,0); > > $query = "Update pics set picnumber=picnumber-1 where user=\"$user\" and > picnumber > $number"; > $dbq = mysql_query($query,$dblink) or die("Looks like I picked the wrong day > to quit smoking!"); > > $query = "Delete from pics where id=$id"; > $dbq = mysql_query($query,$dblink) or die("Looks like I picked the wrong day > to start coding!"); > > Get the idea? Then if they wanted to rearrange the pics, you could just > swap the picnumbers of the > two pics they want to swap... or do something similar to the update line > above. > > Sheridan Saint-Michel > Website Administrator > FoxJet, an ITW Company > www.foxjet.com > > > ----- Original Message ----- > From: "Jeff Oien" <jeff@webdesigns1.com> > To: "PHP-DB" <php-db@lists.php.net> > Sent: Friday, August 31, 2001 1:38 PM > Subject: RE: [PHP-DB] Previous | Next (Again) > > > > Sorry but I'm just not getting this. I'm not sure how to get the order > > of the pics in the first place or what do with the picnumber > > column. If someone deletes a pic wouldn't the picnumbers higher than > > it also need to be changed? I'm understanding everything else, even > > the password stuff but this I'm just clueless. > > Jeff Oien > > > > > I would add the field "picnumber int" or something to your DB. > > > This is where the pic falls in the order of pics in the album. > > > > > > The the previous and next should be as simple as doing > > > select picnumber,piclocation from album where user=$user and > > > (picnumber=$number-1 or picnumber=$number+1); > > > > > > Then just check numrows. If two make both prev and next links, > > > if one make prev link if $return[0] < $number else make next link. > > > > > > If none, no links. > > > > > > This way, if the person wants to change the order of their pictures > > > it is quite easy to write a function that allows them to swap the place > > > of two pics. > > > > > > Make sense? > > > > > > Sheridan Saint-Michel > > > Website Administrator > > > FoxJet, an ITW Company > > > www.foxjet.com > > > > > > > > > ----- Original Message ----- > > > From: "Jeff Oien" <jeff@webdesigns1.com> > > > To: "PHP-DB" <php-db@lists.php.net> > > > Sent: Thursday, August 30, 2001 8:18 PM > > > Subject: [PHP-DB] Previous | Next (Again) > > > > > > > > > > I'm having a hard time figuring this out. I have a photo album that > > > displays > > > > one image at a time. I want to have Previous and Next links for images > in > > > > a users album. This was suggested: > > > > > > > > http://www.phpbuilder.com/columns/rod20000221.php3 > > > > but it seems to be more for a number of results instead of one. > > > > > > > > At first I used the id field which is auto_increment and did -1 for > > > > previous +1 for next but then realized if they delete an image in > > > > the album the id field is no longer successive by 1. I can count > > > > the number of images in an album but not sure how to know which > > > > is the first, which is the second etc. and know which the current > > > > one is if the id field has gaps in it. Not sure if that made any > sense. > > > > Jeff Oien > > > > > > > > -- > > > > PHP Database Mailing List (http://www.php.net/) > > > > To unsubscribe, e-mail: php-db-unsubscribe@lists.php.net > > > > For additional commands, e-mail: php-db-help@lists.php.net > > > > To contact the list administrators, e-mail: > php-list-admin@lists.php.net > > > > > > > -- > > PHP Database Mailing List (http://www.php.net/) > > To unsubscribe, e-mail: php-db-unsubscribe@lists.php.net > > For additional commands, e-mail: php-db-help@lists.php.net > > To contact the list administrators, e-mail: php-list-admin@lists.php.net >

« previous php.db (#12060) next »