Bueno, despues de unos meses ya trabajando en el sistema casi lo tengo disponible. Ya he conseguido hacer la encuesta y otorgar puntos al usuario.
Ahora el problema viene d esta manera:
El usuario cuando llega a un cierto valor de puntos hace que el nivel del usuario suba o baje y luego hace la grabacion en la base de datos. Luego con un div de ancho dinámico simulo una barra de progreso. Pues bien, no hay manera de que me funcione bien el sistema, ni para subir de nivel ni para bajar.
Os dejo aqui el código php y la muestra de datos por pantalla pq llevo ya unos dias y nada! no hay manera.
Código PHP:
$result2 = mysql_query("SELECT SUM(puntos) as total FROM tutoriales WHERE autorFK='$id'");
$row2 = mysql_fetch_array($result2);
$num_puntos = $row2['total'];
if ($nivel_actual == 0)
{
$puntos_total_nivel = 50;
}
else
{
$nivel = $nivel_actual+1;
$puntos_total_nivel = $nivel*($nivel/2)*100;
if($num_puntos>=$puntos_total_nivel)
{
$nivelnuevo = $nivel+1;
$puntos_total_nivel = $nivelnuevo*($nivelnuevo/2)*100;
$res = "UPDATE usuarios SET nivel=$nivelnuevo WHERE nick='$nick'";
$sql = mysql_query($res);
}
elseif($num_puntos<$puntos_total_nivel)
{
$nivelnuevo = $nivel-1;
$puntos_total_nivel = $nivelnuevo*($nivelnuevo/2)*100;
$res = "UPDATE usuarios SET nivel=$nivelnuevo WHERE nick='$nick'";
$sql = mysql_query($res);
}
}
$ancho_div = number_format($num_puntos/$puntos_total_nivel*152, 1);
Código PHP:
...
<div id='panel_barra' style='text-align:center; width:";
echo $ancho_div;
echo "px'> $num_puntos/$puntos_total_nivel
</div>
...