Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/10/2004, 10:27
Avatar de neofito
neofito
 
Fecha de Ingreso: noviembre-2003
Mensajes: 138
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Código -trasteando menú lista-

Hola, le llevo dando vueltas varios días pero no veo donde cometo el error. La primera parte (la función que hace la consulta a la base de datos) funciona correctamente, luego me muestra el resultado de dicha función dentro del menú (apareciendo los diferentes predecesores correctamente), donde estoy "atascado" es en dos puntos:

1) Una vez me muestra los predecesores dentro del menú, no me aparece seleccionado por defecto el que se supone que debemos poder modificar.
Brrrr... intento explicarme mejor! si quiero modificar un producto cuyo predecesor es "blanco" al darle al botón modificar me deberían de salir dentro del menú blanco, azul, amarillo (y los que haya) y quiero que por defecto salga seleccionado "blanco" ya que es el que hay antes de modificarlo por otro


b) No puedo pasar el parámetro seleccionado a través de menú con el formulario a otro script. Ahora mismo cuando selecciono una opción del menú y le doy al formulario simplemente no me da ningún error pero me lo deja como estaba "no pasando" el valor seleccionado.

Os pego el código a ver que os parece:

Código PHP:
<?php 
// Listamos todos los "predecesores" introducidos en la BD
function minilista_categorias($orden) {
  
open();
  if (!isset(
$orden)) $orden='predecesor';
  
$query "SELECT DISTINCT predecesor FROM categorias ORDER BY $orden";
   
$result mysql_query($query) or die(mysql_error());
  while(
$categ mysql_fetch_array($result)) {
    
$categs[]=$categ;
  }
  return 
$categs;
}
?>
A continuación quiero que aparezca los valores de la minilista dentro del menú, y que el usuario tras seleccionar el que quiera pase dicho valor.

Código PHP:
<form action=cat_res.php method=POST>
<input type=hidden name=p_id value="<?=$categ['id']?>">
<table align=center bgcolor="#CCCCCC" cellpadding="10">
        <td>Categor&iacute;a a la que pertenece</td>
    <td align=left><? minilista_categorias($orden);
     
$categs=minilista_categorias($_GET['p_predecesor']);
?>
      <select name="p_predecesor">
        <? foreach($categs as $categ) { ?>
        <option value="predecesor">
        <?=$categ['predecesor']?>
        <? }?>
        </option>
      </select>    
      <td>&nbsp;</td>
  </tr>
  <tr>
    <td>
    <input type=submit name=p_borrar value="Borrar" onclick="return confirm('Estas segur@o?')">
    </td>
    <td align=left>
    <input type=submit name=p_ok value="Enviar datos">
    </td>
  </tr>
</table>
</form>
Por último os adjunto el fichero cat_res.php por si sirve de más ayuda:

Código PHP:
<?
require 'auth.php';
require 
'fnc_categ.php';

comprueba_autenticacion();

// Borramos o guardamos la categoria, segun el boton que hemos pulsado

if (isset($_POST['p_borrar'])) {
  
borra_categoria($_POST['p_id']);
} else {
  
guarda_categoria($_POST['p_id'],$_POST['p_nombre'],$_POST['p_descripcion'],$_POST['p_fecha'],$_POST['p_predecesor']);
}

// Y saltamos otra vez a la lista

header('Location: lista_admin.php');
?>

Última edición por neofito; 04/10/2004 a las 10:36