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

From: Date: Thu, 13 Sep 2001 20:15:10 +0000
Subject: Re: reading arrays within a field from mysql and separating the values
References: 1  Groups: php.db 
Request: Send a blank email to php-db+get-12426@lists.php.net to get a copy of this message
You need to split the value into an array using php, then list it out. Lots of ways to do that, here's one. $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"; // new stuff $vals= explode(", ", $DCD["DCD_Access"]); for ($i=0;$i<count($vals);$i++) { print "<option value='$vals[$i]'>$vals[$i]</option>\n"; } // end new stuff print " </select></div>\n </td>\n"; 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

« previous php.db (#12426) next »