Concentrando-se nesta área, você deve receber um erro de PHP, a menos que seja um erro de cópia. Observe as seguintes alterações:
while($rows=mysql_fetch_assoc($query)){
?>
<form method=\"POST\" action=\"edit.php\">
<input type ='hidden' name='ID' value = '<?php echo $rows['ID'];?>'>
<select name ="pnames">
<?php foreach ($arrayproducts as $key => $value) {
?>
<option value = "<?php echo $key; ?>"
<?php
if ($key == $productName){
echo 'selected="selected"';
}
?> >
<?php echo $value; ?>
</option>
<?php } //end foreach ?>
</select>
<?php }//end while ?>
Você tinha código HTML simples no segmento PHP no início.
Além disso, eu acredito que você quer
if ($value == $productName){