Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/07/2008, 00:55
xenon254
 
Fecha de Ingreso: noviembre-2007
Ubicación: Zamora (Spain)
Mensajes: 251
Antigüedad: 16 años, 5 meses
Puntos: 1
Pregunta Reordenar IDentificadores de una tabla por PHP

Buenas a todos

Tengo una duda para comentar. Necesito reordenar el campo de identificadores de una tabla de manera que primero ordeno todas las filas por fecha ascendente y luego mi intención es recorrerla y rellenar los campos de identificación, (PrimaryKey), por orden numérico, (1,2,3,...n).

Caso práctico:
Código:
//Reordenar IDs
	$idnew=1;
	$consulta = mysql_query("SELECT * FROM noticias_es ORDER by fecha ASC",$conexion);
	
	 while ($row = mysql_fetch_row($consulta))
	{
		mysql_query("UPDATE noticias_es SET idnoticia='$idnew' WHERE idnoticia='$row[0]'");
		echo $idnew ."-". $row[0];
		echo "<br>";
		$idnew++;
	}
El problema es que no lo hace. Hace tiempo tuve que hace algo parecido pero cuando se borraba un registro y los campos de IDentificación quedaban desoordenados por la falta de correlación, (1,2,4,5,8...n)

En este caso realice algo casi similar y funcionó. Cosa que ahora viendo esto me desespera un tanto y no localizo el error.

Código:
//Reordenar IDs
	$idnew=1;
	$consulta = mysql_query("SELECT * FROM atria_es ORDER by idatria ASC",$conexion);
	while ($row = mysql_fetch_row($consulta))
	{
		mysql_query("UPDATE atria_es SET idatria='$idnew' WHERE idatria='$row[0]'");
		$idnew++;
	}
Espero que se os ocurrá algo. Gracias y un saludo.