No es algo dificil de hacer con ajax yo estuve haciendo algo parecido te lo adapte un poco mira este es el codigo javascript...
Código PHP:
var objetoXhr = Xajax();
var READY_STATE_UNINITIALIZED = 0;
var READY_STATE_LOADING = 1;
var READY_STATE_LOADED = 2;
var READY_STATE_INTERACTING = 3;
var READY_STATE_COMPLETE = 4;
var READY_STATUS = 200;
function Xajax() {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
}else if(window.ActiveXObject) {
return new ActiveXObject("Microsoft.XMLHTTP");
}
}
function cargarAjax(url,metodo,funcion,parametros,objetoAjax) {
if (objetoAjax) {
objetoAjax.onreadystatechange = funcion;
objetoAjax.open(metodo,url,true);
objetoAjax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
objetoAjax.send(parametros);
}
}
// aqui realizo la llamada y recepcion de datos con ajax y lo inserto
// en el div llenarDatos del codigo html...
function ajaxProduct() {
var texto = "";
var div = document.getElementById('llenarDatos');
if (objetoXhr.readyState == READY_STATE_COMPLETE) {
if (objetoXhr.status == READY_STATUS) {
var JSON = eval("("+objetoXhr.responseText+")");
texto += "<p>Codigo=" + JSON.Codigo + "</p>";
texto += "<p>Producto=" + JSON.Producto + "</p>";
texto += "<p>Marca=" + JSON.Marca + "</p>";
div.innerHTML = texto;
}
}
}
function llamarDatos() {
var elSelect = document.getElementById('productosSelect');
var codigo = elSelect.options[elSelect.selectedIndex].value;
var query = "codigo="+codigo+"&nocache="+Math.random();
cargarAjax("productos.php","POST",ajaxProduct,query,objetoXhr);
}
window.onload = function() {
document.getElementById('boton').onclick = llamarDatos;
}
y el codigo html...
Código HTML:
<select id="productosSelect">
<option value=1>Televisor</option>
<option value=2>Computadora</option>
<option value=3>Mp3</option>
</select>
<input type="button" id="boton" value="Ver Datos"/>
<div id="llenarDatos"></div>
Como veras hice un codigo html para dar un ejemplo donde puse 3 opciones al select cada value se corresponde con el codigo de un producto en la base de datos, ahora vamos al archivo productos.php...
Código PHP:
<?php
$codigo = $_POST['codigo'];
$link = mysql_connect("localhost","root");
$bd = "Ajax";
$elArray = array();
mysql_select_db($bd,$link);
$result = mysql_query("SELECT * FROM productos WHERE Codigo = '$codigo'");
while ($dato = mysql_fetch_row($result)) {
$codigo = $dato[0];
$producto = $dato[1];
$marca = $dato[2];
}
echo "{Codigo:'".$codigo."', Producto:'".$producto. "', Marca:'" . $marca . "'}";
?>
aca como ves es una simple consulta a la base donde lo importante es que recibo el codigo que manda javascript mediante la variable $_POST['codigo']; y el formato de salida que le doy al echo, es el formato de un objeto JSON de javascript donde el primer parametro va a ser una propiedad del objeto JSON definido en la funcion ajaxProduct y el 2do es el valor...
Sino entendes algo avisame es bastante largo como para comentarlo todo...
Salu2 y suerte :D