Foros del Web » Programando para Internet » PHP »

Niveles de usuario

Estas en el tema de Niveles de usuario en el foro de PHP en Foros del Web. Hola amigos haber quien es tan hamable de ayudarme, explico mi idea: tengo un foro que e echo, lo que quiero es que segun el ...
  #1 (permalink)  
Antiguo 25/09/2004, 00:26
 
Fecha de Ingreso: abril-2003
Mensajes: 583
Antigüedad: 14 años, 7 meses
Puntos: 5
Exclamación Niveles de usuario

Hola amigos haber quien es tan hamable de ayudarme, explico mi idea:

tengo un foro que e echo, lo que quiero es que segun el numero de mensajes que a puesto el usuario le salga un rango o otro es decir:

Niveles de miembro:
Miembro Novato -> 0 a 50 mensajes
Miembro Júnior -> 50 a 200 mensajes
Miembro Senior -> 200 a 300 mensajes
Miembro Avanzado -> 300 a 500 mensajes
Miembro Dios ! -> 500 a ..... mensajes

por ejemplo si el user a puesto de 0 a 50 mensajes en el foro que le salga la palabra miembro novato,y asi sucesivamente con los niveles como podria hacer en php el nombre de la tabla es "nivel" que es donde hago el update cada vez que un user postea, y le suma 1.

Como podria hacer esta idea?

Saludos y muchas gracias.
__________________
Si la vida te da la espalda tocale el culo
  #2 (permalink)  
Antiguo 25/09/2004, 02:29
 
Fecha de Ingreso: abril-2003
Mensajes: 583
Antigüedad: 14 años, 7 meses
Puntos: 5
Bueno dandole vueltas lo locre sacar era mas facil de lo que pensaba lo posteo por si a alguien le interesa:

Código PHP:
    $n=$row['nivel'];
    if (
$n>&& $n<50){
    echo 
"<b>Miembro Novato</b>";
    }
    if (
$n>50 && $n<200){
    echo 
"<b>Miembro Junior</b>";
    }
    if (
$n>200 && $n<300){
    echo 
"<b>Miembro Avanzado</b>";
    }
    if (
$n>300 && $n<500){
    echo 
"<b>Miembro Senior</b>";
    }
    if (
$n>500 && $n<50000000){
    echo 
"<b>Miembro Dios!</b>";
    } 
Saludos !
__________________
Si la vida te da la espalda tocale el culo
  #3 (permalink)  
Antiguo 25/09/2004, 19:34
 
Fecha de Ingreso: enero-2004
Ubicación: Santiago
Mensajes: 127
Antigüedad: 13 años, 11 meses
Puntos: 0
Algunos detalles...

Aquí esta la versión opimizada

Código PHP:
$n $row['nivel']; 
switch (
$n) {
 case (
$n && $n <= 50):
  echo 
"<b>Miembro Novato</b>"; break;
 case (
$n 50 && $n <= 200):
  echo 
"<b>Miembro Junior</b>"; break;
 case (
$n 200 && $n <= 300):
  echo 
"<b>Miembro Avanzado</b>";  break;
 case (
$n 300 && $n <= 500):
  echo 
"<b>Miembro Senior</b>"; break;
 case (
$n 500):
  echo 
"<b>Miembro Dios!</b>"; break;

En tu código colocas:
if ($n>0 && $n<50){
echo "<b>Miembro Novato</b>";
}
if ($n>50 && $n<200){
echo "<b>Miembro Junior</b>";
}
...

Pero si te fijas bien, dónde he marcado los operadores estan los errores, ya que si el usuario tiene 50 post no le dirá nada , según éste rango de ejemplo, cuando es mayor a 0 pero MENOR a 50 le mostrará "Miembro Novato" y cuando sea MAYOR a 50 pero MENOR a 200 le mostrará "Miembro Junior"... no se esta considerando cuando es "igual a", por eso te lo he corregido, los fallos estaban en:

< 50
< 200
< 300
< 500

y yo los he reemplazado a:
<= 50
<= 200
<= 300
<= 500

De esta manera serán tambien considerados estos números que estaban en el "aire" y nunca le hubiera sido mostrado el estado al usuario en esos casos.

Además, en este tipo de casos es mejor utilizar la sentencia switch, en vez de varios if.

Saludos.
  #4 (permalink)  
Antiguo 26/09/2004, 14:19
 
Fecha de Ingreso: abril-2003
Mensajes: 583
Antigüedad: 14 años, 7 meses
Puntos: 5
GRacias por tu optimizacion !!! es cierto descuidos de un mal dormir jajaa

Saludos
__________________
Si la vida te da la espalda tocale el culo

Última edición por freedatos; 27/09/2004 a las 07:24
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 09:24.