Foros del Web » Programando para Internet » PHP »

Mostrar todos las filas al seleccionar un valor

Estas en el tema de Mostrar todos las filas al seleccionar un valor en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 19/10/2011, 03:02
 
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

Etiquetas: filas, formulario, html, mysql, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.