¿Como llenar un combobox en php con mysql utilizando ajax?

nemesis88

Bovino adicto
#1
Hola amigos, me han dejado un trabajo para listar un combobox utilizando una conexion con mysql utilizando ajax y php y al hacer click en un item de ese combo me liste los campos de mi tabla por debajo del combobox, sé como llenar un combobox con conexion a una bd pero sin ajax, es por eso que necesito su ayuda para terminar con esta tarea, se mas o menos lo que es puro php pero en ajax podria decrise que no es mi fuerte.

A continuacion les dejo una imagen de lo que mas o menos quiero hacer, espero me ayuden puesto que lo necesito para el martes.Salu2


 

nemesis88

Bovino adicto
#5
A continuacion les muestro el codigo que modifique de la pagina que me dio lags_80 :

index.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function showgenero(str)
{
if (str=="")
{
document.getElementById("listado").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("listado").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
<table width="264" border="1">
<tr>
<td width="119">Genero Musica</td>
<td width="129">
<?php
$link=mysql_connect('localhost','root','');
$select=mysql_select_db('tiendadiscos') or die('No hay BD');
$cadena="select * from genero";
$sql=mysql_query($cadena);
if($reg=mysql_fetch_array($sql)){
echo "<select id='cbogenero' onchange='showgenero(this.value)'>";
echo "<option value='X'>SELECCIONA</option>";
do{
echo "<option value='".$reg['idgenero']."'>".$reg['genero']."</option>";
}while($reg=mysql_fetch_array($sql));
echo "</select>";
};

?>
</td>
</tr>
</table>

</form>
<br/>
<div id="listado">Listar Aqui</div>

</body>
</html>
getuser.php

<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'root', '');
if (!$con)
{
die('No Conectado : ' . mysql_error());
}

mysql_select_db("tiendadiscos", $con);

$sql="SELECT m.Codigo,m.Titulo,g.Genero,m.Precio,m.Stock FROM musica as m inner join genero as g
on m.idgenero=g.idgenero WHERE m.idgenero = '".$q."'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Codigo</th>
<th>Titulo</th>
<th>Genero</th>
<th>Precio</th>
<th>Stock</th>
<th></th>
</tr>";

while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['Codigo'] . "</td>";
echo "<td>" . $row['Titulo'] . "</td>";
echo "<td>" . $row['Genero'] . "</td>";
echo "<td>" . $row['Precio'] . "</td>";
echo "<td>" . $row['Stock'] . "</td>";
echo "<td><a href='editar.php'>Editar</a></td>";
echo "</tr>";
}
echo "</table>";

mysql_close($con);
?>
Y para finalizar aqui les paso la base de datos :

create database tiendaDiscos;
use tiendaDiscos;



create table genero(
idgenero int auto_increment primary key not null,
genero varchar(30)
);

create table musica(
Codigo int auto_increment primary key not null,
Titulo varchar(30) not null,
idgenero int null,
Precio double not null,
Stock int not null,
Constraint fk_gene foreign key(idgenero) references genero(idgenero)
);


insert into genero values('1','pop');
insert into genero values('2','salsa');
insert into genero values('3','romantica');




insert into musica values('1','Crazy','1','12.5','20');
insert into musica values('2','Bad Day','1','15.5','22');
insert into musica values('3','No Morira','2','15.5','15');
insert into musica values('4','Volvere','2','20.5','20');
insert into musica values('5','Call Me','1','30.5','30');
insert into musica values('6','bachata rosa','3','30.5','5');
insert into musica values('7','VIVIRE','3','10.5','21');
insert into musica values('8','LLévame','1','15.5','20');
insert into musica values('9','Earth Song','1','50.5','15');
insert into musica values('10','SERA','3','16.5','20');
Nota : tan solo necesitarian el archivo jquery.js, y una vez descargado ese archivo de internet deben copiarlo dentro de una carpeta llamada js para que este ejemplo funcione.Salu2
 
Arriba