Tema: editar datos
Ver Mensaje Individual
  #13 (permalink)  
Antiguo 28/07/2005, 14:45
Avatar de claudiovega
claudiovega
 
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 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");
}
?>