Cita:
Iniciado por DarkJ
Puede ser que dentro del bucle estes pisando el valor de la variable $result , por ejemplo al hacer la otra consulta la guardas en $result otra vez. Tipico fallo de copiapega.
Llevas mucha razón... Era éso

Muchas gracias!
Ahora... una vez superado el primer escollo, viene el 2º problema
En la tabla, como comentaba, hay varios registros por cada usuario, y
lo que me interesa a mí es que para cada usuario el bucle se ejecute 1 sola vez
¿Cómo lo podría hacer?
Por si ayuda muestro la página
http://www.falotron.com/modules.php?name=stakes_testing&file=usuario
Y el código entero
Código:
##
## Vamos recogiendo usuario a usuario
##
$consulta = "SELECT * FROM apuestas_OK ORDER BY usuario ASC";
$resultado = $db->sql_query($consulta);
while ($row = $db->sql_fetchrow($resultado)) {
$usuario=$row['usuario'];
##
## Recogemos el nº total de stakes
##
$sql = "SELECT usuario, procesada FROM apuestas_OK WHERE (usuario = '$usuario')";
$result = $db->sql_query($sql);
echo "<tr><td><b>$usuario</b></td>";
$cuento = mysql_num_rows($result);
echo "<td><font color=\"blue\">$cuento</font></td>";
##
## Recogemos el nº total de stakes > 2.99 + el Stake Medio en Apuestas Acertadas
##
$acertadas_ok = "SELECT stake FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '2') AND (stake > '2.99') ";
$result = $db->sql_query($acertadas_ok);
$cuento1 = mysql_num_rows($result);
echo "<td><font color=\"green\"><b>$cuento1</b></font> ";
$acertadas_ok_avg = "SELECT AVG(stake) FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '2') AND (stake > '2.99') ";
$result = $db->sql_query($acertadas_ok_avg);
$row = $db->sql_fetchrow($result);
$stake_medio1 = $row['AVG(stake)'];
echo "(<I>";
echo round($stake_medio1, 2);
echo "</I>)</td>";
##
## Recogemos el nº total de stakes < 3 + el Stake Medio en Apuestas Acertadas
##
$acertadas_ko = "SELECT stake FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '2') AND (stake < '3.00') ";
$result = $db->sql_query($acertadas_ko);
$cuento2 = mysql_num_rows($result);
echo "<td><font color=\"red\"><b>$cuento2</b></font> ";
$acertadas_ko_avg = "SELECT AVG(stake) FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '2') AND (stake < '3.00') ";
$result = $db->sql_query($acertadas_ko_avg);
$row = $db->sql_fetchrow($result);
$stake_medio2 = $row['AVG(stake)'];
echo "(<I>";
echo round($stake_medio2, 2);
echo "</I>)</td>";
##
## Recogemos el nº total de stakes < 3 + el Stake Medio en Apuestas Falladas
##
$falladas_ok = "SELECT stake FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '3') AND (stake < '3.00') ";
$result = $db->sql_query($falladas_ok);
$cuento3 = mysql_num_rows($result);
echo "<td><font color=\"green\"><b>$cuento3</b></font> ";
$falladas_ok_avg = "SELECT AVG(stake) FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '3') AND (stake < '3.00') ";
$result = $db->sql_query($falladas_ok_avg);
$row = $db->sql_fetchrow($result);
$stake_medio3 = $row['AVG(stake)'];
echo "(<I>";
echo round($stake_medio3, 2);
echo "</I>)</td>";
##
## Recogemos el nº total de stakes > 2.99 + el Stake Medio en Apuestas Falladas
##
$falladas_ko = "SELECT stake FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '3') AND (stake > '2.99') ";
$result = $db->sql_query($falladas_ko);
$cuento4 = mysql_num_rows($result);
echo "<td><font color=\"red\"><b>$cuento4</b></font> ";
$falladas_ko_avg = "SELECT AVG(stake) FROM apuestas_OK WHERE (usuario = '$usuario') AND (procesada = '3') AND (stake > '2.99') ";
$result = $db->sql_query($falladas_ko_avg);
$row = $db->sql_fetchrow($result);
$stake_medio4 = $row['AVG(stake)'];
echo "(<I>";
echo round($stake_medio4, 2);
echo "</I>)</td>";
##
## Se calcula el Coeficiente del peñista, según sus stats de stakes
##
$coef1 = $cuento1*$stake_medio1;
$coef2 = $cuento2*$stake_medio2;
$coef3 = $cuento3*$stake_medio3;
$coef4 = $cuento4*$stake_medio4;
echo "<td>";
echo $coef1-$coef2+$coef3-$coef4;
echo "</td>";
echo "</tr>";
}
##
## Cerramos la Tabla
##