How to display value in drop down list after form has been reloaded
Posted on
16th Feb 2014 07:03 pm by
admin
Please bear with me as I am very new to php and html.
I have a form with several drop down menus, the one at the top shows a list that when an item is selected fills in the form below including the other drop downs. So when an item is selected the form gets info from a mysql database and then fills in the form. At this point the user can further modify the form and re-submit it to update the database. This means that the drop downs in the form not only need to display the relavent options from the database to reflect the existing choice but also when clicked on show a list to allow the user the change the selection from the list.
This means that the dropdown needs to:
show the words 'select item' when the form is first loaded and the form is empty
show the current selection when the defined by a selection in the top drodown
show all the available items when the list is dropped down
Curently my drop down does only this:
shows the nothing when the form is first loaded and the form is empty
shows the current selection when defined by a selection in the top drodown
show all the available items when the list is dropped down plus the one that was there before it was clicked on, therefore doubing the option up showing the same option twice
The form is here if you would like to see it in action: http://www.spencercarpenter.co.uk/portfolioAppFiles/simpleForm.php
And a snippet of code from one of th drop downs is here:
Code: <select name="img01" onChange="updateImg(this, 'thumbImg01')">
<option value=-"-1" ><?php echo $row_chosen_pItem['img01']; ?></option>
<?php buildFileList5('uploaded');?>
</select>
the code inside the 'buildFileList5' looks like this:
Code: <?php
function buildFileList5($theFolder)
{
// Execute code if the folder can be opened, or fail silently
if ($contents = @ scandir($theFolder))
{
// initialize an array for matching files
$found = array();
// Create an array of file types
$fileTypes = array('jpg','jpeg','gif','png');
// Traverse the folder, and add filename to $found array if type matches
$found = array();
foreach ($contents as $item)
{
$fileInfo = pathinfo($item);
if (array_key_exists('extension', $fileInfo) && in_array($fileInfo['extension'],$fileTypes))
{
$found[] = $item;
}
}
// Check the $found array is not empty
if ($found)
{
// Sort in natural, case-insensitive order, and populate menu
natcasesort($found);
$selectedImage = ""; //default image
foreach ($found as $filename)
{
if(!empty($_POST['img01']) && $_POST['img01'] == $filename)
{
$sel = "SELECTED";
$selectedImage = $filename;
}
echo "<option value='$filename' $sel>$filename</option>n";
}
}
}
}
?>
I hope that is enough info to explain it.
If anyone could tell how to get the dropdown working properly I would be very gratefull.
Thanks a lot
No comments posted yet
Your Answer:
Login to answer
241
49
Other forums
temporary objects
Until now i thought every temporary object in C++ is created as constant. I'm wondering why my compi
Include ("Absolute Path") of a file?
I'm not sure what I'm doing wrong. I am writing my php code in the same directory of the file that
Using real time in php
I'm very average at PHP and im looking to introduce time to something on my site.
Its a sports si
cURL proxy
Okay here is the thing... i know how to add proxys
Code: curl_setopt($ch, CURLOPT_PROXYTYPE,
Retreiving objects from Sessions
Hi all,
I am getting really frustrated with storing and retreiving objects from a session. Bu
Read from forum
Haven't written anything forever and I would like to get back.
What I'm trying to do is getting t
Add 5 to a variable when a button is clicked, and re-run a for loop
So I'm making a feedback sort of section on a website with MySQL and PHP, I've gotten the script to
LIMIT $start, 10... how to pass last value queried into next page with GET??
Ok I know how to display the first or last 10 results of a query...
$result = mysql_query(&q
Session
I am having a little trouble with a session. Not sure if it is my browser or what. I know I do not
Adding post count
How would I make it so everytime someone clicks submit on my form, their row in the database for the