El primer $query .. que función tiene? .. (intenta siempre poner todo el código que uses en su contexto .. y si intervienen vários scripts . .pues lo mismo .. todo ayuda).
En "echo $noticiaId; " ¿te arroja correctamente los valores de tus "ID de noticia" como esperas?
Sólo te recomendaría otra forma de trabajar con formularios donde vas a usar o generar vários registros agrupados .. Me refiero a usar en lugar de:
$_POST['noticia_'.$i];
.. tratarlo como array como indica esta FAQ:
http://www.forosdelweb.com/showthrea...710#post518710
Veras que te complica la vida menos y es más natural trabajar así con ese tipo de elementos que son agrupados ...
De hecho para este tipo de casos .. El proceso sería:
Bucle(lee tus valores de tus $_POST['id_variables']){
haces el UPDATE por el ID obtenido ...
}
Se supone que tu en tu formulario anterior ya has obtenido los "Id's" de esos registros a actualizar y los pasas al script que va hacer un proceso con ese grupo de ID's obtenidos ...
Si al generar tus "ID's" en tu formulario .. lo usas tipo:
Código PHP:
<form ....
while ($row=mysql_fetch_array($resultado)){
<input type="el_que_corresponda" name="ids[]" value="<? echo $row['id'] ?>">
}
botón enviar ....
</form>
En tu scritp PHP de proceso .. tan sólo sería cosa de hacer:
Código PHP:
// conectas a tu BBDD .. seleccionas la BBDD a trabajar ...
// Y sólo recorres tus "Ids" array que contendrá tus valores ..
foreach ($_POST['ids'] as $noticiaId){
mysql_query("UPDATE news SET estado='0' WHERE new_id='".$noticiaId."'") or die(mysql_error());
}
Un saludo,