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: 20 años, 5 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