Re: reading arrays within a field from mysql and separating the values

From: Date: Tue, 11 Sep 2001 01:37:17 +0000
Subject: Re: reading arrays within a field from mysql and separating the values
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-66839@lists.php.net to get a copy of this message
On Tue, 11 Sep 2001 00:02, Robert Trembath wrote: > Hello everyone, > > Ran into a problem trying to get this to work. I have multiple names in > a mysql field (DCD_Access) that contains "name1, name2, name3, name4" > and I want read this information as an array so I can use these values > to populate a pull-down list using a while or foreach loop. Below is > the code I used, but I get the values as a single entry no matter what > I try. This query brings a single result row "name1, name2, name3, > name4". Here's the code: > > $result4 = mysql_query( "SELECT DCD_Access FROM userdb WHERE ID = > '$user_ID'"); > $DCD = mysql_fetch_array ( $result4 ); > > print " <td width='6%' valign=top>\n > <div align='center'>\n > <select name='LCompare'>\n > <option value='none'>None</option>\n > <option value='within'>Within Gel</option>\n"; > foreach ( $DCD as $val ) > { > print "<option value='$val'>$val</option>\n"; > } > print " </select></div>\n > </td>\n"; > > This returns HTML like: > > <td width='6%' valign=top> > <div align='center'> > <select name='LCompare'> > <option value='none'>None</option> > <option value='within'>Within Gel</option> > <option value='name1, name2, name3, name4'>name1, name2, > name3, name4</option> > <option value='name1, name2, name3, name4'>name1, name2, > name3, name4</option> > <option value='name1, name2, name3, name4'>name1, name2, > name3, name4</option> > <option value='name1, name2, name3, name4'>name1, name2, > name3, name4</option> > </select> > </div> </td> > > What I need is to get: > > <td width='6%' valign=top> > <div align='center'> > <select name='LCompare'> > <option value='none'>None</option> > <option value='within'>Within Gel</option> > <option value='name1'>name1</option> > <option value='name2'>name2</option> > <option value='name3'>name3</option> > <option value='name4'>name4</option> > </select> > </div> </td> > > Anyone know how to fix this? > Robert It sounds like your database design could do with a bit of rethinking, but there is a solution to your immediate problem. You need to explode the contents of the field into an array which contains one name per element of the array, then loop through the array to produce your SELECT contnets. -- David Robley Techno-JoaT, Web Maintainer, Mail List Admin, etc CENTRE FOR INJURY STUDIES Flinders University, SOUTH AUSTRALIA The best way to accelerate a Mac is at 9.8 m / sec^2.

« previous php.general (#66839) next »