Foros del Web » Programando para Internet » PHP »

Sistema de puntos mediante encuesta

Estas en el tema de Sistema de puntos mediante encuesta en el foro de PHP en Foros del Web. Hola a todos Estoy intentando (que no es poco!) crear un cms para un proyecto que tengo entre manos. De momento estoy en el proceso ...
  #1 (permalink)  
Antiguo 11/12/2009, 03:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Sistema de puntos mediante encuesta

Hola a todos

Estoy intentando (que no es poco!) crear un cms para un proyecto que tengo entre manos. De momento estoy en el proceso de aprender a crear pequeñas aplicaciones como login, registrar, publicar contenido... para ir fogueándome un poco jajaja

Me gustaría poder crear una función que otorgara puntos a un usuario segun la opcion escogida de una encuesta. Es decir, tengo el formulario con las siguientes opciones.

* 1 Puntos
* 2 puntos
* 3 puntos

Si escojo la opcion de 3 puntos, que me agregue esos 3 puntos al usuario que yo haya especificado. ¿Alguien sabe como podria plantearlo y programarlo, o saben de algun tutorial donde se encuentre?

Muchas gracias de antemano. Un saludo!!
  #2 (permalink)  
Antiguo 11/12/2009, 04:20
 
Fecha de Ingreso: agosto-2005
Mensajes: 46
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Sistema de puntos mediante encuesta

A esa función tendrias q pasar el id del usuario al que agregar los puntos y los puntos que se le van a sumar, en conexion.php estaría la conexion a la bd, no tiene mas complicación...
Código PHP:
function agregarptos($id,$ptos){
   include(
"conexion.php");
   
mysql_query("UPDATE tu_tabla  SET `puntos`=`puntos`+$ptos WHERE id='$id'",$link);

  #3 (permalink)  
Antiguo 11/12/2009, 04:23
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Sistema de puntos mediante encuesta

Hola Imatione,

gracias por la ayuda, aunque necesitaria un poco mas de código ya que lo que me indicas es solo la funcion de sumar los puntos a los que ya tenia, pero la encuesta en php para mostrar los valores y enviarlos a la base de datos?

gracias de nuevo!
  #4 (permalink)  
Antiguo 11/12/2009, 04:36
 
Fecha de Ingreso: agosto-2005
Mensajes: 46
Antigüedad: 18 años, 8 meses
Puntos: 2
Respuesta: Sistema de puntos mediante encuesta

Para hacer la encuesta busca en google "encuesta php" que seguro que ya vienen muchas hechas como ejemplos.
  #5 (permalink)  
Antiguo 02/02/2010, 11:12
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 5 meses
Puntos: 1
Respuesta: Sistema de puntos mediante encuesta

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*1521); 
Código PHP:
...
<
div id='panel_barra' style='text-align:center; width:";
        echo $ancho_div;
        echo "px'
$num_puntos/$puntos_total_nivel
</div>
... 
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:34.