Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/08/2007, 16:59
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 9 meses
Puntos: 2135
Re: Resetear el el campo id con la secuencia 1,2,3.. cuando borro el registro 2.

Pues creo tu algoritmo es el mas indicado aunque eso lo que haria tmb seria reordenar los campos no continuos asi que debes en tu query hacer:

Código:
SELECT * FROM orden ORDER BY orden ASC
Para que los registros se ordenen de manera secuencial, posteriormente tendrias que seleccionar la orden 1 y de ahi empezar a contar, si se salta de ahi haces el "decremento" en las demas.

Puede ser algo asi:
Código PHP:
$result mysql_query("SELECT orden FROM orden ORDER BY orden ASC");
$ids = array();
while( 
$row mysql_fetch_row$result ) ) {
       
$ids[] = $row[0];
}
$start $ids[0];
foreach( 
$ids as $id ) {
     
$cmp $id;
     if( 
$cmp != $start ) {
           
mysql_query"UPDATE orden SET orden=orden-1 WHERE orden>$cmp" );
           
$start $cmp;
     }

Puedes empezar con algo como eso, aunque creo se romperia un poco la atomicidad de los datos..

Saludos.