Ante todo, gracias
Lo he probado de mil maneras y no he conseguido lo que quería. También es verdad que yo no controlo mucho.
Código PHP:
$con = mysql_connect( 'host', 'usuario', 'clave' );
$db = mysql_select_db( 'competicion' );
$consulta = "SET @pos=0; SELECT id_puntuacion, campo1, campo2, @pos:=@pos+1 as puesto FROM puntuacion ORDER BY campo2 DESC";
$sql = mysql_query( $consulta ) or die ( mysql_error() );
¿Debo entender que ejecutando este código, se grabaría de forma automática en el campo "puesto" el puesto que ocupa cada línea del registro una vez ordenada por el "campo2" de mayor a menor? Lo hice con UPDATE también pero no me ha funcionado!!! En el campo "puesto" no se graba la posición de cada registro!!!
A lo más que he llegado es a esto (lo he visto en una página), pero no soy capaz de guardar el resultado del contador en el campo "puesto" de mi tabla "puntuacion":
Código PHP:
$con = mysql_connect( 'host', 'usuario', 'clave' );
$db = mysql_select_db( 'competicion' );
$consulta = "SELECT * FROM puntuacion";
$sql = mysql_query( $consulta ) or die ( mysql_error() );
$contador = 1;
while ( $row = mysql_fetch_array( $sql ) )
{
echo $contador.". ".$row[puesto]=$contador."</br>";
$contador++; // incrementamos el contador en 1 unidad
}
Saludos