Buenos días,
Tengo una tabla con los campos categoria y descripcion.
He conseguido que al seleccionar un valor categoria de una combo me muestre su descripción.
Ahora tengo otra tabla con los siguientes campos: categorias, descripcion 1, descripcion 2.
Por cada categoria tengo varias filas de descripcion 1 y descripcion 2.
Lo que quiero es que al seleccionar el campo categoria en la combo (esto funciona) me aparezcan todas las descripciones 1 y 2 con esa categoria.
Os dejo mi código:
Son dos páginas .php
El primero categoria_modificar.php
<?php
$link=mysql_connect("localhost","root","XXXX");
mysql_select_db("mysql",$link);
?>
<html>
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
<head>
<script language="javascript">
var xmlhttp;
function MostrarDescr(cat){
var cate;
cate= cat;
//se obtiene el resultado de la petición al php
//que se encarga de obtener una descripción dada una categoria
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
//alert("xml");
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET","http://localhost/obtenerDescripcion.php?categoria="+cate,true);
xmlhttp.send(null);
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
//se introduce la información en el formulario
//"xmlhttp.responseText" contiene el resultado de la petición
formulario.descripcion.value=xmlhttp.responseText;
}else{
}
}
}//fin de la función MostrarDescripción
function verifica()
{
if (formulario.categoria.value==" ")
{ alert ("Por favor ingrese una Categoria");
return;
}
if (formulario.descripcion.value==" ")
{ alert ("Por favor ingrese una Descripción");
return;
}
formulario.opt.value=1;
formulario.submit();
}
</script>
<title>Actualización de base de datos</title>
</head>
<body>
<p align='center'>
Actualizacion de base de datos: Modificar una categoría</p>
<HR/>
<form name='formulario' id='formulario' method='post' action='categoria_modificar.php'>
<input type="hidden" name="opt">
<TABLE border="0" cellpadding="0">
<TR>
<td> <label>Categoría </p></td>
<td>
<?php
echo "<select name='categoria' id='nombre_dado' onchange='MostrarDescr(this.value)'>";
$sql="SELECT ID_CATEGORIA FROM categoria_tbl";
$result=mysql_query($sql);
$i=0;
while ($row=mysql_fetch_row($result))
{
echo "<option value=".$row[$i].">".$row[$i]."</option>\n";
}
echo "</select>";
?>
</p>
</TR>
<TR>
<BR>
<td>Descripción:</p></td>
<td> <input type='text' name ='descripcion' id ='descripcion' size="100" maxlength="100"> </TEXTAREA></p> </td>
</TR>
<TR>
<td><input type='button' value='Aceptar' name="salvar" onclick =verifica()></td>
<td><input type='reset' value='Comenzar'></td>
</TR>
</p>
</form>
<?php
Y el segundo php obtenerDescripcion.php
<?php
header('Content-type: application/json; charset=iso-8859-15');
$Categoria =$_GET['categoria'];
//Conexion a la base de datos
$conexion = mysql_connect("localhost", "root", "PEMYN11111");
mysql_select_db("mysql", $conexion);
$query= "SELECT * FROM categoria_tbl WHERE ID_CATEGORIA='".$Categoria."'";
$result=mysql_query($query, $conexion) or die(mysql_error());
if ($result> 0) {
while ($rowEmp = mysql_fetch_assoc($result)) {
echo $rowEmp[DESCRIPCION];
}
}
?>
Muchisimas gracias