You know, I didn't even think about serializing the array. I have a table set up for spells, one for schools, and a linking table using the spell id and the school id(s). I could have done without the linking table. Some of you people are pretty freakin' smart. :) One note though, when you pull the serialized data out, you may have to stripslashes before unserialize... $school = unserialize ( stripslashes ( $row['school'] ) ); Tom Rogers wrote: > Hi, > > Saturday, October 19, 2002, 2:48:14 PM, you wrote: > SM> Have a question that im trying to figure out how to resolve. I have a field type in mysql that is of the enum type. Unless youre familiar with Dungeons and Dragons, you wont get what the values > SM> mean, but hopefully youll get the gist anyway. I have a column labelled school which holds an enum data type comprised of the values 1 through 40. From the website front end, where the data is > SM> being entered, i want to display, ideally a series of checkboxes, otherwise a list which would allow a user to select multiple items in that will translate into this enum field. For instance, a > SM> series of checkboxes with items such as abjuration, conjuration, divination, and others, which will all have a numeric value which gets plugged into the enum field. for instance, if a user > SM> selected abjuration, and divination, it would be plugged into sql as 1, 3 (or however enum data is input into its column). That being the case how do i utilize php to get this to work? what kind > SM> of form elements etc... The problem im seeing with checkboxes are that they are discreet and dont group together, so i cant get all the data to go into one column in mysql. Hopefully i havent > SM> horribly confused the issue and some kind soul out there can tell me how to send this data across. As a double nice thing...how would you write it to pull the data back out...ie, convert 1, 3 to > SM> show abjuration, divination? Thanks for the help in advance. > > I have never used enum type but I am sure it is not what you want as > it will only store one item from a predefined list not a list of > items. What you need to do is create an array of the selected items, > serialize() it to store in the database in a varchar or mediumtext if > it going to get big. Then when you read it back unserialize and loop > through all the options setting "checked" if it is in the array. > To keep the checkboxes grouped name them like this: > <input type="checkbox" name="school[1]"> > <input type="checkbox" name="school[2]"> > <input type="checkbox" name="school[3]"> > > That will show up as an array under $_POST['school'] > so you can serialize it as is and store it. > > <? > if(isset($_POST['school'])) $school = serialize($_POST['school']); > ?> > > Playback is simple too > > <? > $school = unserialize($row['school']); > for($i = 1;$i < 41;$i++){ > echo '<input type="checkbox" name="school['.$i.']"'; > if(isset($school[$i])) echo ' checked'; > echo '>'; > } > > Un-checked boxes are not returned in the post and checked ones > return Yes I think. > > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php