Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/10/2011, 03:02
cris_campos
 
Fecha de Ingreso: septiembre-2011
Mensajes: 15
Antigüedad: 12 años, 7 meses
Puntos: 0
Mostrar todos las filas al seleccionar un valor

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