By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
428,558 Members | 1,607 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 428,558 IT Pros & Developers. It's quick & easy.

PHP edit form for MySQL database using <Select> fields

P: n/a
Hi,

I have a php form that encodes the responses to various <Select> field
drop down menus as numbers (e.g. 0 to 50), and then posts the data to
a MySQL table. I am trying to implement a form to allow editing of the
data already in the table. I can read the data out of the database
without trouble, however I am having trouble figuring out a way to have
the appropriate option in the <Select> fields chosen to reflect the
data already in the database. Does anyone have any suggestions on how I
can accomplish this?

Best wishes,

George Hadley
gh********@yahoo.com

Jun 18 '06 #1
Share this Question
Share on Google+
1 Reply


P: n/a
gh********@yahoo.com wrote:
[snip]
I am having trouble figuring out a way to have
the appropriate option in the <Select> fields chosen to reflect the
data already in the database. Does anyone have any suggestions on how I
can accomplish this?


Sure.

$data = mysql_fetch_array(mysql_query('SELECT fieldname FROM table WHERE
id='.$theId));

echo '
<select name="mylist">
<option value="option1"'; if ($data['fieldname'] == 'option1') { echo '
selected="selected"'; } echo '>Option 1</option>
<option value="option2"'; if ($data['fieldname'] == 'option2') { echo '
selected="selected"'; } echo '>Option 2</option>
';
....etc...
echo '</select>';

This is how I do these things atleast. The point is to check if the
option is the one in the db, and if it is, add selected="selected" (or
just selected if you're not using xhtml).
Roy W. Andersen
--
ra at broadpark dot no / http://roy.skyggenesdal.org/

"Hey! What kind of party is this? There's no booze
and only one hooker!" - Bender, Futurama
Jun 19 '06 #2

This discussion thread is closed

Replies have been disabled for this discussion.