Los post no necesitan llevar el incremento y luego a $o en el FOR lo declaras como string...
Te corrijo quedaria asi:
Código PHP:
$limite = count($_POST['moderar']);
for($o=0;$o<$limite;$o++)
{
$nombre=$_POST["nombre"];
$equipo=$_POST["equipo"];
$valorm=$_POST["valormercado"];
$estado=$_POST["'estado'"];
$posicion=$_POST["posicion"];
$posicion=$_POST["posicion"];
$valormercado= str_replace(".","",$valorm);
mysql_query("UPDATE players SET equipo='$equipo[$o]',valormercado='$valormercado[$o]',estado='$estado[$o]',posicion='$posicion[$o]' WHERE nombre='$nombre[$o]'");
Y observaciones:
1.- No se puede concatenar variabes asi $variable1.$variable2...
2.- Los $_POST todos son arreglos no variables con terminacion numerica puse $_POST['input1'] en el ejemplo porque me referia a _POST["'nombre'"].
3.- Y como son arreglos los tratas como tal osea $arreglo[0], $arreglo[1], ....
4.- Actualiza por llave primaria en su base de datos y no por nombre, es decir en la tabla de jugadores agregale un ID (Primary_key), en tu formulario agrega un <input type='hidden' name='id[]' value='<?php echo $jugadores["id"]; ?>' /> para que lo recibas asi:
Código PHP:
$limite = count($_POST['moderar']);
for($o=0;$o<$limite;$o++)
{
$ID=$_POST["ID"];
$equipo=$_POST["equipo"];
$valorm=$_POST["valormercado"];
$estado=$_POST["estado'"];
$posicion=$_POST["posicion"];
$posicion=$_POST["posicion"];
$valormercado= str_replace(".","",$valorm);
mysql_query("UPDATE players SET equipo='$equipo[$o]',valormercado='$valormercado[$o]',estado='$estado[$o]',posicion='$posicion[$o]' WHERE ID='$ID[$o]'");
Ya que si dos jugadores se llaman igual a los dos los actualizara con los mismo datos....
Salu2