Hola Josemi, he entendido la primera parte pero no la segunda ¿
![Golpeado](http://static.forosdelweb.com/fdwtheme/images/smilies/pelea.png)
?
Te pego la modificación hecha me falta sólo la segunda parte que me comentas (lo del if) que no lo entiendo.
Código PHP:
<select name="p_predecesor">
<? foreach($categs as $categ) { ?>
<option value="<?=$categ['predecesor']?>">
<?=$categ['predecesor']?>
<? }?>
<option selected>???????</option>
</option>
</select>
<td> </td>
Cita: Solo tienes que generar el atributo selected en el option que quieres seleccionar. Dentro del foreach, haces un if que compruebe si el elemento a mostrar tiene que estar o no seleccionado. Y en caso de tener que estar seleccionado, sacar el HTML correspondiente.