Hello

I have a web page which has a drop down menu.
I want the user to select an option from the drop down menu, then click submit.

This will then activate my php script and select data from my MYSQL database and populate the fields.

How do i action a button, so when i click, it activates a peice of html / php code?

Member Avatar for GreenDay2001

use onChange event.

Client vs. Server. The only thing that will "activate" PHP code is a server request. There are two types of server request, GET, and POST. GET requests happen by typing in a URL or clicking a link. POST requests happen when you submit a form.

As far as "activating" HTML code... that happens when the browser renders a page. I think you mean JavaScript code, and there are lots of ways to run JavaScript. Every HTML element has associated JavaScript events and event handlers. You, as a developer, have to code them.

The thread title seems to indicate you want to know the difference between a submit button and a regular button, but you don't ask that in your post. You're going to have to narrow things down to a specific question. Which piece of the puzzle can you not do?

1. Write an HTML form with a dropdown list and a submit button?
2. Write a PHP program to process the form results?
3. Query a MySQL database?
4. Process the query results and output new HTML?

ok ok

What i wanted was an onChange option, this then calls a javascript procedure

But i need the procedure to be php with embedded html

Re-read my post. PHP is server-side code. JavaScript is client-side code. You cannot write PHP that will run on the client in response to a JavaScript onChange event. I don't know what "embedded HTML" means in this context, sorry.

ok ok

What i wanted was an onChange option, this then calls a javascript procedure

But i need the procedure to be php with embedded html

Like mentioned, JavaScript is client side (runs on the browser) and PHP is server side (runs on the server).

Regarding: "php with embedded html".
I believe you mean PHP embeded in HTML. This is a confusing statement that "sells" PHP when you are new to the language. It doesn't mean that PHP is embedded in HTML some how literally speaking. All php is processed on the server and only HTML is sent to the browser. It just means that you can seperate PHP in <?PHP ?> tags and place this in between your HTML.

So in order to use PHP, you'll have to make a request to the server, as mentioned with a form POST, or a GET request.

This equates to a new page load on the browser. Or a refreshing of a hidden Iframe or use of AJAX if you dont want to reload the page.

I believe what you want is simple a new page load, as that is the simplest and most conventional.

If you want to make a GET request using JavaScript, you can use:

window.location = 'http://example.com';

If you need to submit a form automatically, use form.submit(); where "form" is the form object defined in the DOM.

Exaple:
make a HTTP GET on selecting a new option.

<select name="selectbox" id="selectbox">
<option value="">Select a Page</option>
<option value="http://example.com/page1.php">Page 1</option>
<option value="http://example.com/page2.php">Page 2</option>
</select>

<script type="text/javascript">


var select = document.getElementById('selectbox');
select.onchange = function() {
window.location = select.options[select.selectedIndex].value; 
}

</script>
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.