Originariamente inviato da bstefano79
togli where id

togli questa cosa che non si può vedere
$_POST['edit'] = $_GET['edit'];
e scrivi magari $id= $_GET['edit'];
ovviamente dove hai $_POST['edit']; poi sostituisci con $id


e poi se ho capito bene sostituisci

<option value="<?php echo $nomecat ?>"><?php echo $nomecategoria ?></option>

con

<option value="<?php echo $nomecat ?>"
<?php if(isset($_GET['edit']) && $id==$nomecat){
echo "selected=\"selected\"";
}
?>
><?php echo $nomecategoria ?></option>


Ho provato ad inserire questo ma la voce sul menu, durante la modifica, non appare e rimane la prima di default (se tolgo WHERE Id non funziona proprio niente invece):

<?php
if(isset($_GET['edit'])){
$id = $_GET['edit'];
}
if (isset($_POST['edit'])) {

$news_query = "SELECT * FROM tab_fotografie WHERE Id_fotografia = " . $_POST['edit'];

$result_news = mysql_query($news_query);
$result_array = mysql_fetch_array($result_news);

}
?> </td>
<td width="68%"></td>
</tr>

<tr>
<th id="nomiform3" class="col">Categoria fotografia</th>
<td><select name="categoria" id="categoria">
<?php
$query = mysql_query("select * from tab_categoria order by nome");

while($cat = mysql_fetch_array($query)) {
$nomecat = $cat['id'];
$nomecategoria = htmlspecialchars($cat['nome']);
?>
<option value="<?php echo $nomecat ?>"
<?php if(isset($_GET['edit']) && $id==$nomecat){
echo "selected=\"selected\"";
}
?>
><?php echo $nomecategoria ?></option>


<?php
}

?>
</select>