Foros del Web » Programando para Internet » PHP »

Sistema de puntos

Estas en el tema de Sistema de puntos en el foro de PHP en Foros del Web. Buenas, queria saber si alguien me podria decir como lograr hacer un sistema de puntos, por ejemplo yo tengo una tabla 15 niveles asi: Nivel ...
  #1 (permalink)  
Antiguo 18/10/2015, 06:14
 
Fecha de Ingreso: octubre-2015
Mensajes: 12
Antigüedad: 9 años, 1 mes
Puntos: 1
Sistema de puntos

Buenas, queria saber si alguien me podria decir como lograr hacer un sistema de puntos, por ejemplo yo tengo una tabla 15 niveles asi:

Nivel ____________ Categoria ____________ puntos
1 ____________ Categoria 1 ____________ 999
2 ____________ Categoria 2 ____________ 1999
3 ____________ Categoria 3 ____________ 2999
4 ____________ Categoria 4 ____________ 3999
5 ____________ Categoria 5 ____________ 4999
6 ____________ Categoria 6 ____________ 5999
7 ____________ Categoria 7 ____________ 6999
8 ____________ Categoria 8 ____________ 7999
9 ____________ Categoria 9 ____________ 8999
10 ____________ Categoria 10 ____________ 9999
11 ____________ Categoria 11 ____________ 10999
12 ____________ Categoria 12 ____________ 11999
13 ____________ Categoria 13 ____________ 12999
14 ____________ Categoria 14 ____________ 13999
15 ____________ Categoria 15 ____________ 15000


en otra la tabla de los usuarios se almacenaria los puntos que gane,
si un usuario tiene 6300 puntos por ejemplo, como hago para extraer de esa tabla solo el registro del nivel 6 que corresponderia al nivel de acuerdo a los puntos que tiene?

Última edición por NickyDis19; 18/10/2015 a las 06:22
  #2 (permalink)  
Antiguo 18/10/2015, 15:07
 
Fecha de Ingreso: enero-2014
Mensajes: 36
Antigüedad: 10 años, 10 meses
Puntos: 4
Respuesta: Sistema de puntos

A ver,

¿Qué lenguaje de programación y qué gestor de base de datos utilizas? Danos algo de info.
  #3 (permalink)  
Antiguo 18/10/2015, 19:01
 
Fecha de Ingreso: junio-2015
Mensajes: 54
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Sistema de puntos

quizá con un inner join, comparando los puntos que hay en la tabla usuario con los que hay en la tabla de niveles.
  #4 (permalink)  
Antiguo 19/10/2015, 03:50
 
Fecha de Ingreso: octubre-2015
Mensajes: 12
Antigüedad: 9 años, 1 mes
Puntos: 1
Respuesta: Sistema de puntos

Fyodorovich, seria en lenguaje PHP y la base de datos eb mysql, e logrado hacerlo pero no se si sera la forma correcta me refiero a algo mas optimizado, te describo lo que hise.

primero compare los puntos que tiene el usuario con un select en la tabla de de puntos, con nun menor que, eso me devolvera todos los registros menores a los puntos del usuario, luego guarde en un array los registros y con max(array) obtube el registro mayo solo uno, con ese numero vuelvo a hacer la consulta pero dando que el campo puntos sea igual ala variable que saque de max array, eso debera devolverme un solo registro que es el nivel que corresponderia. dejo el codigo

Código:
require_once('../Connections/foro.php');
mysql_select_db($database_foro, $foro);
$puntos = 6300;

$sql2=mysql_query("SELECT * FROM categorias WHERE rep_puntos<= $puntos",$foro);
$puntos_array = array();
while($row = mysql_fetch_array($sql2)){ 
$puntos_array[]= $row['rep_puntos'];
			} 	
$puntos_consult = max($puntos_array);

$sql3=mysql_query("SELECT * FROM categorias WHERE rep_puntos = $puntos_consult",$foro);
$puntos_rep = array();
while($row = mysql_fetch_array($sql3)){ 
$puntos_rep[] = $row['titulo'];
$puntos_rep[] = $row['nivel'];
$puntos_rep[] = $row['rep_puntos'];
$puntos_rep[] = $row['descripcion'];
$puntos_rep[] = "<img src='files/miniaturas/".$row['imagen']."' /><br />";
			}
$reputatio_info = 
"<ul style='float:left;margin-top:0'>
  <li>".$puntos_rep[0]."</li>
  <li>".$puntos_rep[1]."</li>
  <li>".$puntos."</li>
  <li>".$puntos_rep[3]."</li>
  <li>".$puntos_rep[4]."</li>
</ul>";
la variable $puntos sera la que varie de acuerdo al usuario
No soy experto en php, pero eso que hise me funciona, no se si esta optimizado, no se si es la forma correcta y tampoco se si hagra una forma mas sencilla.

Etiquetas: puntos, registro, sistema, tabla, usuarios
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 21:52.