
28/07/2005, 14:45
|
 | | | Fecha de Ingreso: octubre-2003 Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 21 años, 4 meses Puntos: 11 | |
Yo hago esto asi, es solo una muestra, adaptala a tus necesidades:
formulario.php
<?php
//inicio una sesion para tener acceso a las variables de sesion
session_start();
?>
<form name="form" method="post" action="procesa.php">
<select name="categoria" onchange="document.form.submit();">
//agrega aqui una consulta a la bd para cargar las categorias
//como las categorias no dependen de nada mas se pueden mostrar
//directamente desde la BD
while($fila=mysql_fetch_assoc($rs))
{
if($fila['categoria']==$_SESSION['categoria'])
echo "<option selected>".$fila['categoria']."</option>";
else
echo "<option>".$fila['categoria']."</option>";
}
</select>
<select name="subcategoria">
<?php
//recorro el arreglo de subcategorias que se corresponden segun
//la categoria elegida y muestro la subcategoria que se ha elegido
foreach($_SESSION['subcategorias'] as $subcat)
{
echo "<option>$subcat</option>";
}
?>
</select>
<input type="submit" name="grabar" value="Grabar">
</form>
procesa.php
<?php
//discrimino si el usuario presiono el boton grabar
//o si el submit ocurrio por haber elegido una categoria
if ($_POST['grabar'])
{
//el codigo para grabar
//mato las variables de sesion si no las voy a ocupar mas
unset($_SESSION['subcategorias']);
unset($_SESSION['categoria']);
header("location: otra_pagina.php");
}
else
{
//selecciono las subcategorias que estan en la categoria elegida
$sql="select subcat from subcats where cat=".$_POST['categoria'];
.... (aqui va el query)
//inicializo arreglo
$_SESSION['subcategorias']=array();
//lleno arreglo de subcategorias segun resultado del sql
while ($fila=mysql_fetch_assoc($rs))
{
$_SESSION['subcategorias'][]=$fila['subcat'];
}
//guardo la categoria elegida
$_SESSION['categoria']=$_POST['categoria'];
//redirecciono al formulario
header("location: formulario.php");
}
?> |