Thanking you for taking the time to look at this question.
The premise of the situation is that I have a “website” written in PHP and HTML that displays items from my database named “Spreadsheet.” There are six columns, and over 4000+ rows of data. The columns are “accountID”, “accountName”, “website”, “rating”, “imageURL”, “comments.” The column “rating” in the website is a drop down list.
Currently, everything works well, but I have do questions:
- How do I, with PHP, have data submitted to the database upon clicking on an option (such as “Very Bad”) in the drop down list? At the moment, it requires the user to click a “submit” button, which refreshes the page entirely, losing their position. Is it possible to have it submit silently (without refreshing)
- Second question has to do with the drop-down list again. How do you have the drop-down list display what’s in the database? For example, if rating is “Very Bad” in the database, the drop-down list reflects that, and not what the first element is.
Below is my code.
<a href =\"". $urlHTTP, $row['website']."\">". $row['website']."</a><br />
<Form Name =\"rating\" Method =\"POST\" ACTION =\"\" />
<input type = \"hidden\" name=accountID value=" . $row['accountID'] . ">
<select name=\"rating\">
<option value=\"\"></option>
<option value=\"Very Bad\">Very Bad</option>
<option value=\"Bad\">Bad</option>
<option value=\"Average\">Average</option>
<option value=\"Above Average\">Above Average</option>
</select>
<INPUT TYPE =\"Submit\" Name =\"formSubmit\" VALUE =\"Submit\">
if (isset($_POST['formSubmit'])){
$rating = $_POST['rating'];
$accountID = $_POST['accountID'];
var_dump($rating);
var_dump($accountID);
if(!mysql_query("UPDATE Spreadsheet SET rating='$rating' WHERE accountID='$accountID'")) {echo 1;}
}
mysql_close();
?>
Thanks so much! This question has been bothering me for a bit. I have tried many Google attempts, but I could not find an answer as specific as I am asking. Thank you so much.
Answer to #1:
You can use Javascript/AJAX to accomplish submitting the form without actually pressing submit. There are various javascript libraries that can help you accomplish this a lot easier than bare bones Javascript, namely jQuery ( http://jquery.com/ ). It’s not a very complicated task but you will need to learn some basic Javascript and how to use jQuery. The essential flow of things would be when the form changes, submit an AJAX request to submit the form. You will need a second script to take the incoming AJAX request and do the save. Try search engines for some basic jQuery tutorials, and once you have a basic grip, something like “ajax submit on form change jquery” will get you started.
Answer to #2:
Something like this (please see my notes…)
If you would like the select preselected, that’s pretty easy too! Taking from the last example:
But this is the part I’d like to point a few things out:
id="foo"in addition toname="foo".