Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/12/2004, 22:08
Avatar de sism82
sism82
 
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 22 años, 11 meses
Puntos: 1
lo que necesitas entonces es un simple contador. El identificador nunca cambia. Es independiente de si lo ordenaste en forma descendente o ascentedente. EL identificador es precisamente eso, una forma de identificar bajo cualquier circunstancia un registro. Cuando tu haces una consulta como esta:

Código:
INSERT INTO clientes(unique_id,name) VALUES (NULL,'nombre del cliente');
El campo unique_id será el próximo disponible de la tabla, suponiendo que cuando creaste la tabla hiciste que el campo fuera autoincrementable y único. Ese identificador lo puedes recuperar después de haber hecho la inserción de la forma que ya te expliqué. Ahora bien, simplemente cuando los ordenes en forma ascendente o descentente, tienes que contar cuantos registros hay antes. algo similar a esto:

Código PHP:
//insertas al usuario
$sql_insert = "INSERT INTO customers (customer_id,customer_name) VALUES (NULL,'pedro paramo');";
mysq_query($sql);

//recuperas su identificador
$sql_recover_id = "SELECT LAST_INSERT_ID() AS last_id FROM customers";
$rss = mysql_query($sql_recover_id);
$row = mysq_fetch_object($rss);
$id = $row->last_id;

//haces una consulta ordenada por nombre descendentemente y cuentas el lugar
$sql = "SELECT * FROM customers ORDER BY customer_name DESC";
$rss = mysql_query($sql);
$counter = 1;
while ( 
$customers = mysql_fetch_object($rss) ) {
      if ( 
$id == $customers->customer_id ) {
            break;
      } else {
            
$counter++;
      }
}
echo 
"Eres el número {$num} de la lista ordenada alfabeticamente descendentemente"; 
es algo escueto, pero creo que está bien, o no te entendí lo que buscas.

saludos