Pasandole:
http://localhost/form_categoria.php?...ecesor=ninguna
Me muestra el menú de salto con todas las opciones y el predecesor que selecciona el menú de salto no es el del valor que le paso... le he hecho un echo a $categ['id'] a $id como me comentas y me dan 71 (si te fijas es el valor de p_id que le paso), ahí no está el error, el problema está en que no sé como decirle que compare eñ "predecesor" y si son iguales lo seleccione ¿no? estoy hecho un lío. Pego el script entero por si he omitido algún error:
form_categoria.php
Código PHP:
<?
require 'funciones.php';
$id=$_GET['p_id'];
$predecesor=$_GET['p_predecesor'];
$nombre=$_GET['p_nombre'];
if (isset($id)) {
$categ=consulta_categoria($id);
$mensaje="Modificacion de la categoria $id";
} else {
$mensaje="Alta de una nueva categoria";
}
echo $categ['id'];
echo $id;
$categs=lista_categorias($_GET['p_campo']); ?>
<select name="p_predecesor" id="categoria">
<? if ($predecesor==ninguna) { ?>
<option value="p_predecesor" selected>Ninguna (no tiene predecesor)</option>
<? }
foreach($categs as $categ) { ?>
<option value="<?=$categ['id']?>" selected <?php echo ($categ['id'] == $id) ? "selected" : "";?>>
<?=$categ['nombre']?>
</option>
<? }?>
</select></td>